range_agg() missing support for multirange inputs

Поиск
Список
Период
Сортировка
От Ian R. Campbell
Тема range_agg() missing support for multirange inputs
Дата
Msg-id CAOC8YUcOtAGscPa31ik8UEMzgn8uAWA09s6CYOGPyP9_cBbWTw@mail.gmail.com
обсуждение исходный текст
Ответы Fwd: range_agg() missing support for multirange inputs  ("Ian R. Campbell" <ian.campbell@thepathcentral.com>)
Список pgsql-bugs

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)}

 

Ian Campbell

 

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Elvis Pranskevichus
Дата:
Сообщение: Re: BUG #17213: Wrong result from a query involving Merge Semi Join and Memoize
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: BUG #17288: PSQL bug with COPY command (Windows)