|
|
|
|
@ -483,3 +483,47 @@ select '{ |
|
|
|
|
(1 row) |
|
|
|
|
|
|
|
|
|
-- all of the above should be accepted |
|
|
|
|
-- tests for array aggregates |
|
|
|
|
CREATE TEMP TABLE arraggtest ( f1 INT[], f2 TEXT[][], f3 FLOAT[]); |
|
|
|
|
INSERT INTO arraggtest (f1, f2, f3) VALUES |
|
|
|
|
('{1,2,3,4}','{{grey,red},{blue,blue}}','{1.6, 0.0}'); |
|
|
|
|
INSERT INTO arraggtest (f1, f2, f3) VALUES |
|
|
|
|
('{1,2,3}','{{grey,red},{grey,blue}}','{1.6}'); |
|
|
|
|
SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest; |
|
|
|
|
max | min | max | min | max | min |
|
|
|
|
-----------+---------+--------------------------+--------------------------+---------+------- |
|
|
|
|
{1,2,3,4} | {1,2,3} | {{grey,red},{grey,blue}} | {{grey,red},{blue,blue}} | {1.6,0} | {1.6} |
|
|
|
|
(1 row) |
|
|
|
|
|
|
|
|
|
INSERT INTO arraggtest (f1, f2, f3) VALUES |
|
|
|
|
('{3,3,2,4,5,6}','{{white,yellow},{pink,orange}}','{2.1,3.3,1.8,1.7,1.6}'); |
|
|
|
|
SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest; |
|
|
|
|
max | min | max | min | max | min |
|
|
|
|
---------------+---------+--------------------------------+--------------------------+-----------------------+------- |
|
|
|
|
{3,3,2,4,5,6} | {1,2,3} | {{white,yellow},{pink,orange}} | {{grey,red},{blue,blue}} | {2.1,3.3,1.8,1.7,1.6} | {1.6} |
|
|
|
|
(1 row) |
|
|
|
|
|
|
|
|
|
INSERT INTO arraggtest (f1, f2, f3) VALUES |
|
|
|
|
('{2}','{{black,red},{green,orange}}','{1.6,2.2,2.6,0.4}'); |
|
|
|
|
SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest; |
|
|
|
|
max | min | max | min | max | min |
|
|
|
|
---------------+---------+--------------------------------+------------------------------+-----------------------+------- |
|
|
|
|
{3,3,2,4,5,6} | {1,2,3} | {{white,yellow},{pink,orange}} | {{black,red},{green,orange}} | {2.1,3.3,1.8,1.7,1.6} | {1.6} |
|
|
|
|
(1 row) |
|
|
|
|
|
|
|
|
|
INSERT INTO arraggtest (f1, f2, f3) VALUES |
|
|
|
|
('{4,2,6,7,8,1}','{{red},{black},{purple},{blue},{blue}}',NULL); |
|
|
|
|
SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest; |
|
|
|
|
max | min | max | min | max | min |
|
|
|
|
---------------+---------+--------------------------------+------------------------------+-----------------------+------- |
|
|
|
|
{4,2,6,7,8,1} | {1,2,3} | {{white,yellow},{pink,orange}} | {{black,red},{green,orange}} | {2.1,3.3,1.8,1.7,1.6} | {1.6} |
|
|
|
|
(1 row) |
|
|
|
|
|
|
|
|
|
INSERT INTO arraggtest (f1, f2, f3) VALUES |
|
|
|
|
('{}','{{pink,white,blue,red,grey,orange}}','{2.1,1.87,1.4,2.2}'); |
|
|
|
|
SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest; |
|
|
|
|
max | min | max | min | max | min |
|
|
|
|
---------------+-----+--------------------------------+------------------------------+-----------------------+------- |
|
|
|
|
{4,2,6,7,8,1} | {} | {{white,yellow},{pink,orange}} | {{black,red},{green,orange}} | {2.1,3.3,1.8,1.7,1.6} | {1.6} |
|
|
|
|
(1 row) |
|
|
|
|
|
|
|
|
|
|