1
0
mirror of https://github.com/postgres/postgres.git synced 2025-04-29 13:56:47 +03:00

Additional tests for range_intersect_agg(anymultirange)

Author: Paul Jungwirth <pj@illuminatedcomputing.com>
Reviewed-by: Chapman Flack <chap@anastigmatix.net>
Discussion: https://www.postgresql.org/message-id/flat/007ef255-35ef-fd26-679c-f97e7a7f30c2@illuminatedcomputing.com
This commit is contained in:
Peter Eisentraut 2022-03-30 17:23:13 +02:00
parent b21c4cf951
commit cd7ea75e4b
2 changed files with 48 additions and 0 deletions

View File

@ -2784,6 +2784,9 @@ FROM (VALUES
{[a,f],[g,j)}
(1 row)
--
-- range_intersect_agg function
--
select range_intersect_agg(nmr) from nummultirange_test;
range_intersect_agg
---------------------
@ -2796,13 +2799,49 @@ select range_intersect_agg(nmr) from nummultirange_test where false;
(1 row)
select range_intersect_agg(null::nummultirange) from nummultirange_test;
range_intersect_agg
---------------------
(1 row)
select range_intersect_agg(nmr) from (values ('{[1,3]}'::nummultirange), ('{[6,12]}'::nummultirange)) t(nmr);
range_intersect_agg
---------------------
{}
(1 row)
select range_intersect_agg(nmr) from (values ('{[1,6]}'::nummultirange), ('{[3,12]}'::nummultirange)) t(nmr);
range_intersect_agg
---------------------
{[3,6]}
(1 row)
select range_intersect_agg(nmr) from (values ('{[1,6], [10,12]}'::nummultirange), ('{[4,14]}'::nummultirange)) t(nmr);
range_intersect_agg
---------------------
{[4,6],[10,12]}
(1 row)
-- test with just one input:
select range_intersect_agg(nmr) from (values ('{}'::nummultirange)) t(nmr);
range_intersect_agg
---------------------
{}
(1 row)
select range_intersect_agg(nmr) from (values ('{[1,2]}'::nummultirange)) t(nmr);
range_intersect_agg
---------------------
{[1,2]}
(1 row)
select range_intersect_agg(nmr) from (values ('{[1,6], [10,12]}'::nummultirange)) t(nmr);
range_intersect_agg
---------------------
{[1,6],[10,12]}
(1 row)
select range_intersect_agg(nmr) from nummultirange_test where nmr @> 4.0;
range_intersect_agg
---------------------

View File

@ -572,10 +572,19 @@ FROM (VALUES
('[h,j)'::textrange)
) t(r);
--
-- range_intersect_agg function
--
select range_intersect_agg(nmr) from nummultirange_test;
select range_intersect_agg(nmr) from nummultirange_test where false;
select range_intersect_agg(null::nummultirange) from nummultirange_test;
select range_intersect_agg(nmr) from (values ('{[1,3]}'::nummultirange), ('{[6,12]}'::nummultirange)) t(nmr);
select range_intersect_agg(nmr) from (values ('{[1,6]}'::nummultirange), ('{[3,12]}'::nummultirange)) t(nmr);
select range_intersect_agg(nmr) from (values ('{[1,6], [10,12]}'::nummultirange), ('{[4,14]}'::nummultirange)) t(nmr);
-- test with just one input:
select range_intersect_agg(nmr) from (values ('{}'::nummultirange)) t(nmr);
select range_intersect_agg(nmr) from (values ('{[1,2]}'::nummultirange)) t(nmr);
select range_intersect_agg(nmr) from (values ('{[1,6], [10,12]}'::nummultirange)) t(nmr);
select range_intersect_agg(nmr) from nummultirange_test where nmr @> 4.0;
create table nummultirange_test2(nmr nummultirange);