@@ -344,30 +344,18 @@ EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE b IN (NULL, NULL, NULL,
344
344
*/
345
345
/* a = ANY (...) - pruning should work */
346
346
EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a = ANY (NULL);
347
- QUERY PLAN
348
- ---------------------------------------------
349
- Append
350
- -> Seq Scan on test_1
351
- Filter: (a = ANY (NULL::integer[]))
352
- -> Seq Scan on test_2
353
- Filter: (a = ANY (NULL::integer[]))
354
- -> Seq Scan on test_3
355
- Filter: (a = ANY (NULL::integer[]))
356
- -> Seq Scan on test_4
357
- Filter: (a = ANY (NULL::integer[]))
358
- -> Seq Scan on test_5
359
- Filter: (a = ANY (NULL::integer[]))
360
- -> Seq Scan on test_6
361
- Filter: (a = ANY (NULL::integer[]))
362
- -> Seq Scan on test_7
363
- Filter: (a = ANY (NULL::integer[]))
364
- -> Seq Scan on test_8
365
- Filter: (a = ANY (NULL::integer[]))
366
- -> Seq Scan on test_9
367
- Filter: (a = ANY (NULL::integer[]))
368
- -> Seq Scan on test_10
369
- Filter: (a = ANY (NULL::integer[]))
370
- (21 rows)
347
+ QUERY PLAN
348
+ --------------------------
349
+ Result
350
+ One-Time Filter: false
351
+ (2 rows)
352
+
353
+ EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a = ANY (array[]::int4[]);
354
+ QUERY PLAN
355
+ --------------------------
356
+ Result
357
+ One-Time Filter: false
358
+ (2 rows)
371
359
372
360
EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a = ANY (array[100, 100]);
373
361
QUERY PLAN
@@ -436,29 +424,36 @@ EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a = ANY (array[array[100
436
424
*/
437
425
/* a = ALL (...) - pruning should work */
438
426
EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a = ALL (NULL);
427
+ QUERY PLAN
428
+ --------------------------
429
+ Result
430
+ One-Time Filter: false
431
+ (2 rows)
432
+
433
+ EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a = ALL (array[]::int4[]);
439
434
QUERY PLAN
440
435
---------------------------------------------
441
436
Append
442
437
-> Seq Scan on test_1
443
- Filter: (a = ALL (NULL ::integer[]))
438
+ Filter: (a = ALL ('{}' ::integer[]))
444
439
-> Seq Scan on test_2
445
- Filter: (a = ALL (NULL ::integer[]))
440
+ Filter: (a = ALL ('{}' ::integer[]))
446
441
-> Seq Scan on test_3
447
- Filter: (a = ALL (NULL ::integer[]))
442
+ Filter: (a = ALL ('{}' ::integer[]))
448
443
-> Seq Scan on test_4
449
- Filter: (a = ALL (NULL ::integer[]))
444
+ Filter: (a = ALL ('{}' ::integer[]))
450
445
-> Seq Scan on test_5
451
- Filter: (a = ALL (NULL ::integer[]))
446
+ Filter: (a = ALL ('{}' ::integer[]))
452
447
-> Seq Scan on test_6
453
- Filter: (a = ALL (NULL ::integer[]))
448
+ Filter: (a = ALL ('{}' ::integer[]))
454
449
-> Seq Scan on test_7
455
- Filter: (a = ALL (NULL ::integer[]))
450
+ Filter: (a = ALL ('{}' ::integer[]))
456
451
-> Seq Scan on test_8
457
- Filter: (a = ALL (NULL ::integer[]))
452
+ Filter: (a = ALL ('{}' ::integer[]))
458
453
-> Seq Scan on test_9
459
- Filter: (a = ALL (NULL ::integer[]))
454
+ Filter: (a = ALL ('{}' ::integer[]))
460
455
-> Seq Scan on test_10
461
- Filter: (a = ALL (NULL ::integer[]))
456
+ Filter: (a = ALL ('{}' ::integer[]))
462
457
(21 rows)
463
458
464
459
EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a = ALL (array[100, 100]);
@@ -509,30 +504,18 @@ EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a = ALL (array[NULL, NUL
509
504
*/
510
505
/* a < ANY (...) - pruning should work */
511
506
EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a < ANY (NULL);
512
- QUERY PLAN
513
- ---------------------------------------------
514
- Append
515
- -> Seq Scan on test_1
516
- Filter: (a < ANY (NULL::integer[]))
517
- -> Seq Scan on test_2
518
- Filter: (a < ANY (NULL::integer[]))
519
- -> Seq Scan on test_3
520
- Filter: (a < ANY (NULL::integer[]))
521
- -> Seq Scan on test_4
522
- Filter: (a < ANY (NULL::integer[]))
523
- -> Seq Scan on test_5
524
- Filter: (a < ANY (NULL::integer[]))
525
- -> Seq Scan on test_6
526
- Filter: (a < ANY (NULL::integer[]))
527
- -> Seq Scan on test_7
528
- Filter: (a < ANY (NULL::integer[]))
529
- -> Seq Scan on test_8
530
- Filter: (a < ANY (NULL::integer[]))
531
- -> Seq Scan on test_9
532
- Filter: (a < ANY (NULL::integer[]))
533
- -> Seq Scan on test_10
534
- Filter: (a < ANY (NULL::integer[]))
535
- (21 rows)
507
+ QUERY PLAN
508
+ --------------------------
509
+ Result
510
+ One-Time Filter: false
511
+ (2 rows)
512
+
513
+ EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a < ANY (array[]::int4[]);
514
+ QUERY PLAN
515
+ --------------------------
516
+ Result
517
+ One-Time Filter: false
518
+ (2 rows)
536
519
537
520
EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a < ANY (array[100, 100]);
538
521
QUERY PLAN
@@ -611,29 +594,36 @@ SELECT count(*) FROM array_qual.test WHERE a < ANY (array[NULL, 700]);
611
594
*/
612
595
/* a < ALL (...) - pruning should work */
613
596
EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a < ALL (NULL);
597
+ QUERY PLAN
598
+ --------------------------
599
+ Result
600
+ One-Time Filter: false
601
+ (2 rows)
602
+
603
+ EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a < ALL (array[]::int4[]);
614
604
QUERY PLAN
615
605
---------------------------------------------
616
606
Append
617
607
-> Seq Scan on test_1
618
- Filter: (a < ALL (NULL ::integer[]))
608
+ Filter: (a < ALL ('{}' ::integer[]))
619
609
-> Seq Scan on test_2
620
- Filter: (a < ALL (NULL ::integer[]))
610
+ Filter: (a < ALL ('{}' ::integer[]))
621
611
-> Seq Scan on test_3
622
- Filter: (a < ALL (NULL ::integer[]))
612
+ Filter: (a < ALL ('{}' ::integer[]))
623
613
-> Seq Scan on test_4
624
- Filter: (a < ALL (NULL ::integer[]))
614
+ Filter: (a < ALL ('{}' ::integer[]))
625
615
-> Seq Scan on test_5
626
- Filter: (a < ALL (NULL ::integer[]))
616
+ Filter: (a < ALL ('{}' ::integer[]))
627
617
-> Seq Scan on test_6
628
- Filter: (a < ALL (NULL ::integer[]))
618
+ Filter: (a < ALL ('{}' ::integer[]))
629
619
-> Seq Scan on test_7
630
- Filter: (a < ALL (NULL ::integer[]))
620
+ Filter: (a < ALL ('{}' ::integer[]))
631
621
-> Seq Scan on test_8
632
- Filter: (a < ALL (NULL ::integer[]))
622
+ Filter: (a < ALL ('{}' ::integer[]))
633
623
-> Seq Scan on test_9
634
- Filter: (a < ALL (NULL ::integer[]))
624
+ Filter: (a < ALL ('{}' ::integer[]))
635
625
-> Seq Scan on test_10
636
- Filter: (a < ALL (NULL ::integer[]))
626
+ Filter: (a < ALL ('{}' ::integer[]))
637
627
(21 rows)
638
628
639
629
EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a < ALL (array[100, 100]);
@@ -700,30 +690,18 @@ SELECT count(*) FROM array_qual.test WHERE a < ALL (array[NULL, 700]);
700
690
*/
701
691
/* a > ANY (...) - pruning should work */
702
692
EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a > ANY (NULL);
703
- QUERY PLAN
704
- ---------------------------------------------
705
- Append
706
- -> Seq Scan on test_1
707
- Filter: (a > ANY (NULL::integer[]))
708
- -> Seq Scan on test_2
709
- Filter: (a > ANY (NULL::integer[]))
710
- -> Seq Scan on test_3
711
- Filter: (a > ANY (NULL::integer[]))
712
- -> Seq Scan on test_4
713
- Filter: (a > ANY (NULL::integer[]))
714
- -> Seq Scan on test_5
715
- Filter: (a > ANY (NULL::integer[]))
716
- -> Seq Scan on test_6
717
- Filter: (a > ANY (NULL::integer[]))
718
- -> Seq Scan on test_7
719
- Filter: (a > ANY (NULL::integer[]))
720
- -> Seq Scan on test_8
721
- Filter: (a > ANY (NULL::integer[]))
722
- -> Seq Scan on test_9
723
- Filter: (a > ANY (NULL::integer[]))
724
- -> Seq Scan on test_10
725
- Filter: (a > ANY (NULL::integer[]))
726
- (21 rows)
693
+ QUERY PLAN
694
+ --------------------------
695
+ Result
696
+ One-Time Filter: false
697
+ (2 rows)
698
+
699
+ EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a > ANY (array[]::int4[]);
700
+ QUERY PLAN
701
+ --------------------------
702
+ Result
703
+ One-Time Filter: false
704
+ (2 rows)
727
705
728
706
EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a > ANY (array[100, 100]);
729
707
QUERY PLAN
@@ -821,29 +799,36 @@ SELECT count(*) FROM array_qual.test WHERE a > ANY (array[NULL, 700]);
821
799
*/
822
800
/* a > ALL (...) - pruning should work */
823
801
EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a > ALL (NULL);
802
+ QUERY PLAN
803
+ --------------------------
804
+ Result
805
+ One-Time Filter: false
806
+ (2 rows)
807
+
808
+ EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a > ALL (array[]::int4[]);
824
809
QUERY PLAN
825
810
---------------------------------------------
826
811
Append
827
812
-> Seq Scan on test_1
828
- Filter: (a > ALL (NULL ::integer[]))
813
+ Filter: (a > ALL ('{}' ::integer[]))
829
814
-> Seq Scan on test_2
830
- Filter: (a > ALL (NULL ::integer[]))
815
+ Filter: (a > ALL ('{}' ::integer[]))
831
816
-> Seq Scan on test_3
832
- Filter: (a > ALL (NULL ::integer[]))
817
+ Filter: (a > ALL ('{}' ::integer[]))
833
818
-> Seq Scan on test_4
834
- Filter: (a > ALL (NULL ::integer[]))
819
+ Filter: (a > ALL ('{}' ::integer[]))
835
820
-> Seq Scan on test_5
836
- Filter: (a > ALL (NULL ::integer[]))
821
+ Filter: (a > ALL ('{}' ::integer[]))
837
822
-> Seq Scan on test_6
838
- Filter: (a > ALL (NULL ::integer[]))
823
+ Filter: (a > ALL ('{}' ::integer[]))
839
824
-> Seq Scan on test_7
840
- Filter: (a > ALL (NULL ::integer[]))
825
+ Filter: (a > ALL ('{}' ::integer[]))
841
826
-> Seq Scan on test_8
842
- Filter: (a > ALL (NULL ::integer[]))
827
+ Filter: (a > ALL ('{}' ::integer[]))
843
828
-> Seq Scan on test_9
844
- Filter: (a > ALL (NULL ::integer[]))
829
+ Filter: (a > ALL ('{}' ::integer[]))
845
830
-> Seq Scan on test_10
846
- Filter: (a > ALL (NULL ::integer[]))
831
+ Filter: (a > ALL ('{}' ::integer[]))
847
832
(21 rows)
848
833
849
834
EXPLAIN (COSTS OFF) SELECT * FROM array_qual.test WHERE a > ALL (array[100, 100]);
0 commit comments