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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy