| From: | Ian Campbell <Ian(at)PrimeAbility(dot)co(dot)za> |
|---|---|
| To: | "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org> |
| Subject: | range_agg() missing support for multirange inputs |
| Date: | 2021-11-03 17:39:52 |
| Message-ID: | JNZP275MB0737BDCCB3792619F1DF04128A8C9@JNZP275MB0737.ZAFP275.PROD.OUTLOOK.COM |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
Hello,
Consider the following code:
with a(x) as(
values
('{[10,20],[100,200]}'::int4multirange)
,('{[20,40],[15,55],[100,200]}'::int4multirange)
)
select range_agg(x)
from (
select unnest(x)x
from a
)t;
=> {[10,56),[100,201)}
Here, range_agg() won't accept a multirange type input, but it outputs a multirange type.
The only way to aggregate the source multirange rows is to unnest them first.
However, range_intersect_agg() does not require the unnest step:
with a(x) as(
values
('{[10,20],[100,200]}'::int4multirange)
,('{[20,40],[15,55],[100,200]}'::int4multirange)
)
select range_intersect_agg(x)
from a;
=> {[15,21),[100,201)}
Best,
Ian Campbell
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Daniel Gustafsson | 2021-11-03 21:03:33 | Re: BUG #17262: "View manual" button on postgres.org/docs is overflowing horizontally on mobile view |
| Previous Message | Tom Lane | 2021-11-03 16:46:38 | Re: INFORMATION_SCHEMA.routines column routine_definition does not show the source |