Re: Is there a good way to handle sum types (or tagged unions) in PostgreSQL?

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Victor Nordam Suadicani <v(dot)n(dot)suadicani(at)gmail(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Is there a good way to handle sum types (or tagged unions) in PostgreSQL?
Date: 2023-05-18 14:35:08
Message-ID: a585c794-81de-6470-e968-4f52db1567d8@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 5/18/23 05:27, Victor Nordam Suadicani wrote:
> Hi,
>
> Is there any nice way to handle sum types (aka tagged unions) in a
> PostgreSQL database? I've searched far and wide and have not reached any
> satisfying answer.
>
> As a (somewhat contrived) example, say I have the following enum in Rust:
>
> enum TaggedUnion {
>     Variant1(String),
>     Variant2(i32),
>     Variant3(f64),
> }
>

> If there are no good methods of handling this, is there any way
> PostgreSQL could be extended with capabilities for this? I have no idea
> how this would be done in practice though. Perhaps SQL itself is just
> unsuited for data of this kind? I don't really see why it should be though.

Composite type?:

https://www.postgresql.org/docs/current/rowtypes.html
>
> Thanks,
> Victor Nordam Suadicani

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2023-05-18 14:41:16 Re: JSONB operator unanticipated behaviour
Previous Message Brian Mendoza 2023-05-18 13:17:04 JSONB operator unanticipated behaviour