@@ -517,6 +517,48 @@ EXPLAIN (COSTS OFF) SELECT * FROM test.num_range_rel WHERE (id >= 500 AND id < 1
517
517
-> Seq Scan on num_range_rel_4
518
518
(8 rows)
519
519
520
+ EXPLAIN (COSTS OFF) SELECT * FROM test.num_range_rel WHERE id IN (2500);
521
+ QUERY PLAN
522
+ -----------------------------------
523
+ Append
524
+ -> Seq Scan on num_range_rel_3
525
+ Filter: (id = 2500)
526
+ (3 rows)
527
+
528
+ EXPLAIN (COSTS OFF) SELECT * FROM test.num_range_rel WHERE id IN (500, 1500);
529
+ QUERY PLAN
530
+ ------------------------------------------------------
531
+ Append
532
+ -> Seq Scan on num_range_rel_1
533
+ Filter: (id = ANY ('{500,1500}'::integer[]))
534
+ -> Seq Scan on num_range_rel_2
535
+ Filter: (id = ANY ('{500,1500}'::integer[]))
536
+ (5 rows)
537
+
538
+ EXPLAIN (COSTS OFF) SELECT * FROM test.num_range_rel WHERE id IN (-500, 500, 1500);
539
+ QUERY PLAN
540
+ -----------------------------------------------------------
541
+ Append
542
+ -> Seq Scan on num_range_rel_1
543
+ Filter: (id = ANY ('{-500,500,1500}'::integer[]))
544
+ -> Seq Scan on num_range_rel_2
545
+ Filter: (id = ANY ('{-500,500,1500}'::integer[]))
546
+ (5 rows)
547
+
548
+ EXPLAIN (COSTS OFF) SELECT * FROM test.num_range_rel WHERE id IN (-1, -1, -1);
549
+ QUERY PLAN
550
+ --------------------------
551
+ Result
552
+ One-Time Filter: false
553
+ (2 rows)
554
+
555
+ EXPLAIN (COSTS OFF) SELECT * FROM test.num_range_rel WHERE id IN (-1, -1, -1, NULL);
556
+ QUERY PLAN
557
+ --------------------------
558
+ Result
559
+ One-Time Filter: false
560
+ (2 rows)
561
+
520
562
EXPLAIN (COSTS OFF) SELECT * FROM test.range_rel WHERE dt > '2015-02-15';
521
563
QUERY PLAN
522
564
--------------------------------------------------------------------------------
@@ -587,6 +629,59 @@ EXPLAIN (COSTS OFF) SELECT * FROM test.hash_rel WHERE value = 2 OR value = 1;
587
629
Filter: (value = 1)
588
630
(5 rows)
589
631
632
+ EXPLAIN (COSTS OFF) SELECT * FROM test.hash_rel WHERE value IN (2);
633
+ QUERY PLAN
634
+ ------------------------------
635
+ Append
636
+ -> Seq Scan on hash_rel_1
637
+ Filter: (value = 2)
638
+ (3 rows)
639
+
640
+ EXPLAIN (COSTS OFF) SELECT * FROM test.hash_rel WHERE value IN (2, 1);
641
+ QUERY PLAN
642
+ ----------------------------------------------------
643
+ Append
644
+ -> Seq Scan on hash_rel_1
645
+ Filter: (value = ANY ('{2,1}'::integer[]))
646
+ -> Seq Scan on hash_rel_2
647
+ Filter: (value = ANY ('{2,1}'::integer[]))
648
+ (5 rows)
649
+
650
+ EXPLAIN (COSTS OFF) SELECT * FROM test.hash_rel WHERE value IN (1, 2);
651
+ QUERY PLAN
652
+ ----------------------------------------------------
653
+ Append
654
+ -> Seq Scan on hash_rel_1
655
+ Filter: (value = ANY ('{1,2}'::integer[]))
656
+ -> Seq Scan on hash_rel_2
657
+ Filter: (value = ANY ('{1,2}'::integer[]))
658
+ (5 rows)
659
+
660
+ EXPLAIN (COSTS OFF) SELECT * FROM test.hash_rel WHERE value IN (1, 2, -1);
661
+ QUERY PLAN
662
+ -------------------------------------------------------
663
+ Append
664
+ -> Seq Scan on hash_rel_1
665
+ Filter: (value = ANY ('{1,2,-1}'::integer[]))
666
+ -> Seq Scan on hash_rel_2
667
+ Filter: (value = ANY ('{1,2,-1}'::integer[]))
668
+ (5 rows)
669
+
670
+ EXPLAIN (COSTS OFF) SELECT * FROM test.hash_rel WHERE value IN (0, 0, 0);
671
+ QUERY PLAN
672
+ ------------------------------------------------------
673
+ Append
674
+ -> Seq Scan on hash_rel_1
675
+ Filter: (value = ANY ('{0,0,0}'::integer[]))
676
+ (3 rows)
677
+
678
+ EXPLAIN (COSTS OFF) SELECT * FROM test.hash_rel WHERE value IN (NULL::int, NULL, NULL);
679
+ QUERY PLAN
680
+ --------------------------
681
+ Result
682
+ One-Time Filter: false
683
+ (2 rows)
684
+
590
685
EXPLAIN (COSTS OFF) SELECT * FROM test.num_range_rel WHERE id > 2500;
591
686
QUERY PLAN
592
687
----------------------------------------------------------------
0 commit comments