Skip to content

Commit cd7ea75

Browse files
committed
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
1 parent b21c4cf commit cd7ea75

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

src/test/regress/expected/multirangetypes.out

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2784,6 +2784,9 @@ FROM (VALUES
27842784
{[a,f],[g,j)}
27852785
(1 row)
27862786

2787+
--
2788+
-- range_intersect_agg function
2789+
--
27872790
select range_intersect_agg(nmr) from nummultirange_test;
27882791
range_intersect_agg
27892792
---------------------
@@ -2796,13 +2799,49 @@ select range_intersect_agg(nmr) from nummultirange_test where false;
27962799

27972800
(1 row)
27982801

2802+
select range_intersect_agg(null::nummultirange) from nummultirange_test;
2803+
range_intersect_agg
2804+
---------------------
2805+
2806+
(1 row)
2807+
2808+
select range_intersect_agg(nmr) from (values ('{[1,3]}'::nummultirange), ('{[6,12]}'::nummultirange)) t(nmr);
2809+
range_intersect_agg
2810+
---------------------
2811+
{}
2812+
(1 row)
2813+
2814+
select range_intersect_agg(nmr) from (values ('{[1,6]}'::nummultirange), ('{[3,12]}'::nummultirange)) t(nmr);
2815+
range_intersect_agg
2816+
---------------------
2817+
{[3,6]}
2818+
(1 row)
2819+
2820+
select range_intersect_agg(nmr) from (values ('{[1,6], [10,12]}'::nummultirange), ('{[4,14]}'::nummultirange)) t(nmr);
2821+
range_intersect_agg
2822+
---------------------
2823+
{[4,6],[10,12]}
2824+
(1 row)
2825+
27992826
-- test with just one input:
2827+
select range_intersect_agg(nmr) from (values ('{}'::nummultirange)) t(nmr);
2828+
range_intersect_agg
2829+
---------------------
2830+
{}
2831+
(1 row)
2832+
28002833
select range_intersect_agg(nmr) from (values ('{[1,2]}'::nummultirange)) t(nmr);
28012834
range_intersect_agg
28022835
---------------------
28032836
{[1,2]}
28042837
(1 row)
28052838

2839+
select range_intersect_agg(nmr) from (values ('{[1,6], [10,12]}'::nummultirange)) t(nmr);
2840+
range_intersect_agg
2841+
---------------------
2842+
{[1,6],[10,12]}
2843+
(1 row)
2844+
28062845
select range_intersect_agg(nmr) from nummultirange_test where nmr @> 4.0;
28072846
range_intersect_agg
28082847
---------------------

src/test/regress/sql/multirangetypes.sql

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -572,10 +572,19 @@ FROM (VALUES
572572
('[h,j)'::textrange)
573573
) t(r);
574574

575+
--
576+
-- range_intersect_agg function
577+
--
575578
select range_intersect_agg(nmr) from nummultirange_test;
576579
select range_intersect_agg(nmr) from nummultirange_test where false;
580+
select range_intersect_agg(null::nummultirange) from nummultirange_test;
581+
select range_intersect_agg(nmr) from (values ('{[1,3]}'::nummultirange), ('{[6,12]}'::nummultirange)) t(nmr);
582+
select range_intersect_agg(nmr) from (values ('{[1,6]}'::nummultirange), ('{[3,12]}'::nummultirange)) t(nmr);
583+
select range_intersect_agg(nmr) from (values ('{[1,6], [10,12]}'::nummultirange), ('{[4,14]}'::nummultirange)) t(nmr);
577584
-- test with just one input:
585+
select range_intersect_agg(nmr) from (values ('{}'::nummultirange)) t(nmr);
578586
select range_intersect_agg(nmr) from (values ('{[1,2]}'::nummultirange)) t(nmr);
587+
select range_intersect_agg(nmr) from (values ('{[1,6], [10,12]}'::nummultirange)) t(nmr);
579588
select range_intersect_agg(nmr) from nummultirange_test where nmr @> 4.0;
580589

581590
create table nummultirange_test2(nmr nummultirange);

0 commit comments

Comments
 (0)