@@ -483,3 +483,47 @@ select '{
483483(1 row)
484484
485485-- all of the above should be accepted
486+ -- tests for array aggregates
487+ CREATE TEMP TABLE arraggtest ( f1 INT[], f2 TEXT[][], f3 FLOAT[]);
488+ INSERT INTO arraggtest (f1, f2, f3) VALUES
489+ ('{1,2,3,4}','{{grey,red},{blue,blue}}','{1.6, 0.0}');
490+ INSERT INTO arraggtest (f1, f2, f3) VALUES
491+ ('{1,2,3}','{{grey,red},{grey,blue}}','{1.6}');
492+ SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
493+ max | min | max | min | max | min
494+ -----------+---------+--------------------------+--------------------------+---------+-------
495+ {1,2,3,4} | {1,2,3} | {{grey,red},{grey,blue}} | {{grey,red},{blue,blue}} | {1.6,0} | {1.6}
496+ (1 row)
497+
498+ INSERT INTO arraggtest (f1, f2, f3) VALUES
499+ ('{3,3,2,4,5,6}','{{white,yellow},{pink,orange}}','{2.1,3.3,1.8,1.7,1.6}');
500+ SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
501+ max | min | max | min | max | min
502+ ---------------+---------+--------------------------------+--------------------------+-----------------------+-------
503+ {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}
504+ (1 row)
505+
506+ INSERT INTO arraggtest (f1, f2, f3) VALUES
507+ ('{2}','{{black,red},{green,orange}}','{1.6,2.2,2.6,0.4}');
508+ SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
509+ max | min | max | min | max | min
510+ ---------------+---------+--------------------------------+------------------------------+-----------------------+-------
511+ {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}
512+ (1 row)
513+
514+ INSERT INTO arraggtest (f1, f2, f3) VALUES
515+ ('{4,2,6,7,8,1}','{{red},{black},{purple},{blue},{blue}}',NULL);
516+ SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
517+ max | min | max | min | max | min
518+ ---------------+---------+--------------------------------+------------------------------+-----------------------+-------
519+ {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}
520+ (1 row)
521+
522+ INSERT INTO arraggtest (f1, f2, f3) VALUES
523+ ('{}','{{pink,white,blue,red,grey,orange}}','{2.1,1.87,1.4,2.2}');
524+ SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest;
525+ max | min | max | min | max | min
526+ ---------------+-----+--------------------------------+------------------------------+-----------------------+-------
527+ {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}
528+ (1 row)
529+
0 commit comments