so 7. 3. 2020 v 22:20 odesílatel Tom Lane <t...@sss.pgh.pa.us> napsal:

> I wrote:
> > Actually ... have you given any thought to just deciding that ranges and
> > multiranges are the same type?  That is, any range can now potentially
> > contain multiple segments?  That would eliminate a whole lot of the
> > tedious infrastructure hacking involved in this patch, and let you focus
> > on the actually-useful functionality.
>
> Also, this would allow us to remove at least one ugly misfeature:
>
> regression=# select '[1,2]'::int4range + '[3,10)'::int4range;
>  ?column?
> ----------
>  [1,10)
> (1 row)
>
> regression=# select '[1,2]'::int4range + '[4,10)'::int4range;
> ERROR:  result of range union would not be contiguous
>
> If the result of range_union can be a multirange as easily as not,
> we would no longer have to throw an error here.
>

I think this behave is correct. Sometimes you should to get only one range
- and this check is a protection against not continuous range.

if you expect multirange, then do

select '[1,2]'::int4range::multirange + '[4,10)'::int4range;

Regards

Pavel


>
>                         regards, tom lane
>

Reply via email to