Skip to content

Commit 23125b7

Browse files
committed
even more tests in pathman_array_qual
1 parent 33f5196 commit 23125b7

File tree

2 files changed

+183
-6
lines changed

2 files changed

+183
-6
lines changed

expected/pathman_array_qual.out

Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -941,6 +941,108 @@ DEALLOCATE q;
941941
/*
942942
* Test expr > ALL (... $1 ...)
943943
*/
944+
PREPARE q(int4) AS SELECT * FROM array_qual.test WHERE a > ALL (array[$1, 1000000, 600]);
945+
EXPLAIN (COSTS OFF) EXECUTE q(1);
946+
QUERY PLAN
947+
--------------------------
948+
Result
949+
One-Time Filter: false
950+
(2 rows)
951+
952+
EXPLAIN (COSTS OFF) EXECUTE q(1);
953+
QUERY PLAN
954+
--------------------------
955+
Result
956+
One-Time Filter: false
957+
(2 rows)
958+
959+
EXPLAIN (COSTS OFF) EXECUTE q(1);
960+
QUERY PLAN
961+
--------------------------
962+
Result
963+
One-Time Filter: false
964+
(2 rows)
965+
966+
EXPLAIN (COSTS OFF) EXECUTE q(1);
967+
QUERY PLAN
968+
--------------------------
969+
Result
970+
One-Time Filter: false
971+
(2 rows)
972+
973+
EXPLAIN (COSTS OFF) EXECUTE q(1);
974+
QUERY PLAN
975+
--------------------------
976+
Result
977+
One-Time Filter: false
978+
(2 rows)
979+
980+
EXPLAIN (COSTS OFF) EXECUTE q(1);
981+
QUERY PLAN
982+
--------------------------
983+
Result
984+
One-Time Filter: false
985+
(2 rows)
986+
987+
EXPLAIN (COSTS OFF) EXECUTE q(1);
988+
QUERY PLAN
989+
--------------------------
990+
Result
991+
One-Time Filter: false
992+
(2 rows)
993+
994+
DEALLOCATE q;
995+
PREPARE q(int4) AS SELECT * FROM array_qual.test WHERE a > ALL (array[$1, NULL, 600]);
996+
EXPLAIN (COSTS OFF) EXECUTE q(1);
997+
QUERY PLAN
998+
--------------------------
999+
Result
1000+
One-Time Filter: false
1001+
(2 rows)
1002+
1003+
EXPLAIN (COSTS OFF) EXECUTE q(1);
1004+
QUERY PLAN
1005+
--------------------------
1006+
Result
1007+
One-Time Filter: false
1008+
(2 rows)
1009+
1010+
EXPLAIN (COSTS OFF) EXECUTE q(1);
1011+
QUERY PLAN
1012+
--------------------------
1013+
Result
1014+
One-Time Filter: false
1015+
(2 rows)
1016+
1017+
EXPLAIN (COSTS OFF) EXECUTE q(1);
1018+
QUERY PLAN
1019+
--------------------------
1020+
Result
1021+
One-Time Filter: false
1022+
(2 rows)
1023+
1024+
EXPLAIN (COSTS OFF) EXECUTE q(1);
1025+
QUERY PLAN
1026+
--------------------------
1027+
Result
1028+
One-Time Filter: false
1029+
(2 rows)
1030+
1031+
EXPLAIN (COSTS OFF) EXECUTE q(1);
1032+
QUERY PLAN
1033+
--------------------------
1034+
Result
1035+
One-Time Filter: false
1036+
(2 rows)
1037+
1038+
EXPLAIN (COSTS OFF) EXECUTE q(1);
1039+
QUERY PLAN
1040+
--------------------------
1041+
Result
1042+
One-Time Filter: false
1043+
(2 rows)
1044+
1045+
DEALLOCATE q;
9441046
PREPARE q(int4) AS SELECT * FROM array_qual.test WHERE a > ALL (array[$1, 100, 600]);
9451047
EXPLAIN (COSTS OFF) EXECUTE q(1);
9461048
QUERY PLAN
@@ -1228,6 +1330,57 @@ EXPLAIN (COSTS OFF) EXECUTE q(1);
12281330
Filter: (a > ALL (ARRAY[100, 600, $1]))
12291331
(12 rows)
12301332

1333+
DEALLOCATE q;
1334+
PREPARE q(int4) AS SELECT * FROM array_qual.test WHERE a > ALL (array[array[100, NULL], array[1, $1]]);
1335+
EXPLAIN (COSTS OFF) EXECUTE q(1);
1336+
QUERY PLAN
1337+
--------------------------
1338+
Result
1339+
One-Time Filter: false
1340+
(2 rows)
1341+
1342+
EXPLAIN (COSTS OFF) EXECUTE q(1);
1343+
QUERY PLAN
1344+
--------------------------
1345+
Result
1346+
One-Time Filter: false
1347+
(2 rows)
1348+
1349+
EXPLAIN (COSTS OFF) EXECUTE q(1);
1350+
QUERY PLAN
1351+
--------------------------
1352+
Result
1353+
One-Time Filter: false
1354+
(2 rows)
1355+
1356+
EXPLAIN (COSTS OFF) EXECUTE q(1);
1357+
QUERY PLAN
1358+
--------------------------
1359+
Result
1360+
One-Time Filter: false
1361+
(2 rows)
1362+
1363+
EXPLAIN (COSTS OFF) EXECUTE q(1);
1364+
QUERY PLAN
1365+
--------------------------
1366+
Result
1367+
One-Time Filter: false
1368+
(2 rows)
1369+
1370+
EXPLAIN (COSTS OFF) EXECUTE q(1);
1371+
QUERY PLAN
1372+
--------------------------
1373+
Result
1374+
One-Time Filter: false
1375+
(2 rows)
1376+
1377+
EXPLAIN (COSTS OFF) EXECUTE q(1);
1378+
QUERY PLAN
1379+
--------------------------
1380+
Result
1381+
One-Time Filter: false
1382+
(2 rows)
1383+
12311384
DEALLOCATE q;
12321385
PREPARE q(int4) AS SELECT * FROM array_qual.test WHERE a > ALL (array[array[100, 600], array[1, $1]]);
12331386
EXPLAIN (COSTS OFF) EXECUTE q(1);

sql/pathman_array_qual.sql

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,26 @@ DEALLOCATE q;
155155
* Test expr > ALL (... $1 ...)
156156
*/
157157

158+
PREPARE q(int4) AS SELECT * FROM array_qual.test WHERE a > ALL (array[$1, 1000000, 600]);
159+
EXPLAIN (COSTS OFF) EXECUTE q(1);
160+
EXPLAIN (COSTS OFF) EXECUTE q(1);
161+
EXPLAIN (COSTS OFF) EXECUTE q(1);
162+
EXPLAIN (COSTS OFF) EXECUTE q(1);
163+
EXPLAIN (COSTS OFF) EXECUTE q(1);
164+
EXPLAIN (COSTS OFF) EXECUTE q(1);
165+
EXPLAIN (COSTS OFF) EXECUTE q(1);
166+
DEALLOCATE q;
167+
168+
PREPARE q(int4) AS SELECT * FROM array_qual.test WHERE a > ALL (array[$1, NULL, 600]);
169+
EXPLAIN (COSTS OFF) EXECUTE q(1);
170+
EXPLAIN (COSTS OFF) EXECUTE q(1);
171+
EXPLAIN (COSTS OFF) EXECUTE q(1);
172+
EXPLAIN (COSTS OFF) EXECUTE q(1);
173+
EXPLAIN (COSTS OFF) EXECUTE q(1);
174+
EXPLAIN (COSTS OFF) EXECUTE q(1);
175+
EXPLAIN (COSTS OFF) EXECUTE q(1);
176+
DEALLOCATE q;
177+
158178
PREPARE q(int4) AS SELECT * FROM array_qual.test WHERE a > ALL (array[$1, 100, 600]);
159179
EXPLAIN (COSTS OFF) EXECUTE q(1);
160180
EXPLAIN (COSTS OFF) EXECUTE q(1);
@@ -185,15 +205,24 @@ EXPLAIN (COSTS OFF) EXECUTE q(1);
185205
EXPLAIN (COSTS OFF) EXECUTE q(1);
186206
DEALLOCATE q;
187207

188-
PREPARE q(int4) AS SELECT * FROM array_qual.test WHERE a > ALL (array[array[100, 600], array[1, $1]]);
208+
PREPARE q(int4) AS SELECT * FROM array_qual.test WHERE a > ALL (array[array[100, NULL], array[1, $1]]);
189209
EXPLAIN (COSTS OFF) EXECUTE q(1);
190210
EXPLAIN (COSTS OFF) EXECUTE q(1);
191211
EXPLAIN (COSTS OFF) EXECUTE q(1);
192212
EXPLAIN (COSTS OFF) EXECUTE q(1);
193213
EXPLAIN (COSTS OFF) EXECUTE q(1);
194214
EXPLAIN (COSTS OFF) EXECUTE q(1);
195215
EXPLAIN (COSTS OFF) EXECUTE q(1);
216+
DEALLOCATE q;
196217

218+
PREPARE q(int4) AS SELECT * FROM array_qual.test WHERE a > ALL (array[array[100, 600], array[1, $1]]);
219+
EXPLAIN (COSTS OFF) EXECUTE q(1);
220+
EXPLAIN (COSTS OFF) EXECUTE q(1);
221+
EXPLAIN (COSTS OFF) EXECUTE q(1);
222+
EXPLAIN (COSTS OFF) EXECUTE q(1);
223+
EXPLAIN (COSTS OFF) EXECUTE q(1);
224+
EXPLAIN (COSTS OFF) EXECUTE q(1);
225+
EXPLAIN (COSTS OFF) EXECUTE q(1);
197226
/* check query plan: EXECUTE q(999) */
198227
DO language plpgsql
199228
$$
@@ -213,7 +242,6 @@ $$
213242
RAISE notice '%: number of partitions: %', query, num;
214243
END
215244
$$;
216-
217245
DEALLOCATE q;
218246

219247
PREPARE q(int4[]) AS SELECT * FROM array_qual.test WHERE a > ALL (array[array[100, 600], $1]);
@@ -224,7 +252,6 @@ EXPLAIN (COSTS OFF) EXECUTE q('{1, 1}');
224252
EXPLAIN (COSTS OFF) EXECUTE q('{1, 1}');
225253
EXPLAIN (COSTS OFF) EXECUTE q('{1, 1}');
226254
EXPLAIN (COSTS OFF) EXECUTE q('{1, 1}');
227-
228255
/* check query plan: EXECUTE q('{1, 999}') */
229256
DO language plpgsql
230257
$$
@@ -244,7 +271,6 @@ $$
244271
RAISE notice '%: number of partitions: %', query, num;
245272
END
246273
$$;
247-
248274
DEALLOCATE q;
249275

250276
PREPARE q(int4) AS SELECT * FROM array_qual.test WHERE a > ALL (array[$1, 898]);
@@ -255,7 +281,6 @@ EXPLAIN (COSTS OFF) EXECUTE q(1);
255281
EXPLAIN (COSTS OFF) EXECUTE q(1);
256282
EXPLAIN (COSTS OFF) EXECUTE q(1);
257283
EXPLAIN (COSTS OFF) EXECUTE q(1);
258-
259284
/* check query plan: EXECUTE q(999) */
260285
DO language plpgsql
261286
$$
@@ -275,7 +300,6 @@ $$
275300
RAISE notice '%: number of partitions: %', query, num;
276301
END
277302
$$;
278-
279303
DEALLOCATE q;
280304

281305

0 commit comments

Comments
 (0)