Re: unnesting multirange data types - Mailing list pgsql-hackers

From Alexander Korotkov
Subject Re: unnesting multirange data types
Date
Msg-id CAPpHfdtwVh4b-7vnjg0fV6AR0tPX6hUVgQY0CPG--j78_7uVDA@mail.gmail.com
Whole thread Raw
In response to Re: unnesting multirange data types  (Alexander Korotkov <aekorotkov@gmail.com>)
Responses Re: unnesting multirange data types
List pgsql-hackers
On Sat, Jun 12, 2021 at 2:44 AM Alexander Korotkov <aekorotkov@gmail.com> wrote:
> ()On Sat, Jun 12, 2021 at 2:30 AM Justin Pryzby <pryzby@telsasoft.com> wrote:
> > On Fri, Jun 11, 2021 at 11:37:58PM +0300, Alexander Korotkov wrote:
> > > On Fri, Jun 11, 2021 at 1:04 AM Justin Pryzby <pryzby@telsasoft.com> wrote:
> > > >
> > > > +{ oid => '1293', descr => 'expand mutlirange to set of ranges',
> > > >
> > > > typo: mutlirange
> > >
> > > Fixed, thanks.
> > >
> > > The patch with the implementation of both unnest() and cast to array
> > > is attached.  It contains both tests and docs.
> >
> > |+   The multirange could be explicitly cast to the array of corresponding
> > should say: "can be cast to an array of corresponding.."
> >
> > |+ * Cast multirange to the array of ranges.
> > I think should be: *an array of ranges
>
> Thank you for catching this.
>
> > Per sqlsmith, this is causing consistent crashes.
> > I took one of its less appalling queries and simplified it to this:
> >
> > select
> > pg_catalog.multirange_to_array(
> >     cast(pg_catalog.int8multirange() as int8multirange)) as c2
> > from (select 1)x;
>
> It seems that multirange_to_array() doesn't handle empty multiranges.
> I'll post an updated version of the patch tomorrow.

A revised patch is attached.  Now empty multiranges are handled
properly (and it's covered by tests).  Typos are fixed as well.

------
Regards,
Alexander Korotkov

Attachment

pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: recovery test failures on hoverfly
Next
From: Tom Lane
Date:
Subject: Re: recovery test failures on hoverfly