Re: unnesting multirange data types

From: Alexander Korotkov <aekorotkov(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Jonathan S(dot) Katz" <jkatz(at)postgresql(dot)org>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, Zhihong Yu <zyu(at)yugabyte(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: unnesting multirange data types
Date: 2021-06-16 12:19:08
Message-ID: CAPpHfds+6cKbz=xSnAQZz=D=3VsH2pqSOO+m1gQ+abbjYiV5Aw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jun 15, 2021 at 8:28 PM Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> wrote:
> On 2021-Jun-15, Tom Lane wrote:
>
> > It looks to me like the proximate problem is that you should
> > have taught pg_dump to skip these new auto-generated functions.
> > However, I fail to see why we need auto-generated functions
> > for this at all. Couldn't we have done it with one polymorphic
> > function?
>
> I think such a function would need to take anycompatiblerangearray,
> which is not something we currently have.

Yes, I've started with polymorphic function
multirange_to_array(anymultirange) returning anyarray. But then I got
that for int4multirange return type Is integer[] instead of
int4range[] :)

# select pg_typeof(multirange_to_array('{[1,2),[5,6)}'::int4multirange));
pg_typeof
-----------
integer[]
(1 row)

So, a new anyrangearray polymorphic type is required for this
function. Not sure if it worth it to introduce a new polymorphic
function for this use case.

------
Regards,
Alexander Korotkov

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Alexander Korotkov 2021-06-16 12:35:36 Re: unnesting multirange data types
Previous Message Ranier Vilela 2021-06-16 11:51:16 Re: Signed vs. Unsigned (some)