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 >