@@ -1102,8 +1102,7 @@ EXPLAIN SELECT * FROM pt_lt_tab WHERE col2 between 1 AND 50 ORDER BY col2,col3 L
11021102 -> Incremental Sort (cost=122.27..2022.42 rows=17 width=12)
11031103 Sort Key: pt_lt_tab.col2, pt_lt_tab.col3
11041104 Presorted Key: pt_lt_tab.col2
1105- -> Merge Append (cost=0.73..2021.68 rows=17 width=12)
1106- Sort Key: pt_lt_tab.col2
1105+ -> Append (cost=0.68..2021.42 rows=17 width=12)
11071106 -> Index Scan using idx1 on pt_lt_tab_1_prt_part1 pt_lt_tab_1 (cost=0.14..404.27 rows=3 width=12)
11081107 Index Cond: ((col2 >= '1'::numeric) AND (col2 <= '50'::numeric))
11091108 -> Index Scan using idx2 on pt_lt_tab_1_prt_part2 pt_lt_tab_2 (cost=0.14..404.27 rows=3 width=12)
@@ -1137,8 +1136,7 @@ EXPLAIN SELECT * FROM pt_lt_tab WHERE col2 > 5 ORDER BY col2,col3 LIMIT 5;
11371136 -> Incremental Sort (cost=123.40..1862.16 rows=15 width=12)
11381137 Sort Key: pt_lt_tab.col2, pt_lt_tab.col3
11391138 Presorted Key: pt_lt_tab.col2
1140- -> Merge Append (cost=0.73..1861.48 rows=15 width=12)
1141- Sort Key: pt_lt_tab.col2
1139+ -> Append (cost=0.68..1861.25 rows=15 width=12)
11421140 -> Index Scan using idx1 on pt_lt_tab_1_prt_part1 pt_lt_tab_1 (cost=0.14..244.20 rows=2 width=12)
11431141 Index Cond: (col2 > '5'::numeric)
11441142 -> Index Scan using idx2 on pt_lt_tab_1_prt_part2 pt_lt_tab_2 (cost=0.14..404.24 rows=3 width=12)
@@ -3400,37 +3398,45 @@ SELECT * FROM pt_bool_tab_df WHERE col2 IS unknown;
34003398(1 row)
34013399
34023400EXPLAIN SELECT * FROM pt_bool_tab_df WHERE col2 IS NOT true;
3403- QUERY PLAN
3404- -----------------------------------------------------------------------------------------------------------------------
3405- Gather Motion 3:1 (slice1; segments: 3) (cost=10000000000.00..10000000969.00 rows=46750 width=5)
3406- -> Seq Scan on pt_bool_tab_df_1_prt_part2 pt_bool_tab_df (cost=10000000000.00..10000000345.67 rows=15583 width=5)
3407- Filter: (col2 IS NOT TRUE)
3401+ QUERY PLAN
3402+ -------------------------------------------------------------------------------------------------------------------------------
3403+ Gather Motion 3:1 (slice1; segments: 3) (cost=10000000000.00..20000002093.83 rows=93500 width=5)
3404+ -> Append (cost=10000000000.00..20000000847.17 rows=31167 width=5)
3405+ -> Seq Scan on pt_bool_tab_df_1_prt_part2 pt_bool_tab_df_1 (cost=10000000000.00..10000000345.67 rows=15583 width=5)
3406+ Filter: (col2 IS NOT TRUE)
3407+ -> Seq Scan on pt_bool_tab_df_1_prt_def pt_bool_tab_df_2 (cost=10000000000.00..10000000345.67 rows=15583 width=5)
3408+ Filter: (col2 IS NOT TRUE)
34083409 Optimizer: Postgres query optimizer
3409- (4 rows)
3410+ (7 rows)
34103411
34113412SELECT * FROM pt_bool_tab_df WHERE col2 IS NOT true;
34123413 col1 | col2
34133414------+------
34143415 2 | f
34153416 1 | f
3416- (2 rows)
3417+ 1 |
3418+ (3 rows)
34173419
34183420EXPLAIN SELECT * FROM pt_bool_tab_df WHERE col2 IS NOT false;
3419- QUERY PLAN
3420- -----------------------------------------------------------------------------------------------------------------------
3421- Gather Motion 3:1 (slice1; segments: 3) (cost=10000000000.00..10000000969.00 rows=46750 width=5)
3422- -> Seq Scan on pt_bool_tab_df_1_prt_part1 pt_bool_tab_df (cost=10000000000.00..10000000345.67 rows=15583 width=5)
3423- Filter: (col2 IS NOT FALSE)
3421+ QUERY PLAN
3422+ -------------------------------------------------------------------------------------------------------------------------------
3423+ Gather Motion 3:1 (slice1; segments: 3) (cost=10000000000.00..20000002093.83 rows=93500 width=5)
3424+ -> Append (cost=10000000000.00..20000000847.17 rows=31167 width=5)
3425+ -> Seq Scan on pt_bool_tab_df_1_prt_part1 pt_bool_tab_df_1 (cost=10000000000.00..10000000345.67 rows=15583 width=5)
3426+ Filter: (col2 IS NOT FALSE)
3427+ -> Seq Scan on pt_bool_tab_df_1_prt_def pt_bool_tab_df_2 (cost=10000000000.00..10000000345.67 rows=15583 width=5)
3428+ Filter: (col2 IS NOT FALSE)
34243429 Optimizer: Postgres query optimizer
3425- (4 rows)
3430+ (7 rows)
34263431
34273432SELECT * FROM pt_bool_tab_df WHERE col2 IS NOT false;
34283433 col1 | col2
34293434------+------
34303435 2 | t
34313436 3 | t
34323437 1 | t
3433- (3 rows)
3438+ 1 |
3439+ (4 rows)
34343440
34353441EXPLAIN SELECT * FROM pt_bool_tab_df WHERE col2 IS NOT unknown;
34363442 QUERY PLAN
@@ -3740,37 +3746,45 @@ SELECT * FROM pt_bool_tab_null WHERE col2 IS unknown;
37403746(1 row)
37413747
37423748EXPLAIN SELECT * FROM pt_bool_tab_null WHERE col2 IS NOT true;
3743- QUERY PLAN
3744- ---------------------------------------------------------------------------------------------------------------------------
3745- Gather Motion 3:1 (slice1; segments: 3) (cost=10000000000.00..10000000969.00 rows=46750 width=5)
3746- -> Seq Scan on pt_bool_tab_null_1_prt_part2 pt_bool_tab_null (cost=10000000000.00..10000000345.67 rows=15583 width=5)
3747- Filter: (col2 IS NOT TRUE)
3749+ QUERY PLAN
3750+ -----------------------------------------------------------------------------------------------------------------------------------
3751+ Gather Motion 3:1 (slice1; segments: 3) (cost=10000000000.00..20000002093.83 rows=93500 width=5)
3752+ -> Append (cost=10000000000.00..20000000847.17 rows=31167 width=5)
3753+ -> Seq Scan on pt_bool_tab_null_1_prt_part2 pt_bool_tab_null_1 (cost=10000000000.00..10000000345.67 rows=15583 width=5)
3754+ Filter: (col2 IS NOT TRUE)
3755+ -> Seq Scan on pt_bool_tab_null_1_prt_part3 pt_bool_tab_null_2 (cost=10000000000.00..10000000345.67 rows=15583 width=5)
3756+ Filter: (col2 IS NOT TRUE)
37483757 Optimizer: Postgres query optimizer
3749- (4 rows)
3758+ (7 rows)
37503759
37513760SELECT * FROM pt_bool_tab_null WHERE col2 IS NOT true;
37523761 col1 | col2
37533762------+------
3754- 1 | f
37553763 2 | f
3756- (2 rows)
3764+ 1 | f
3765+ 1 |
3766+ (3 rows)
37573767
37583768EXPLAIN SELECT * FROM pt_bool_tab_null WHERE col2 IS NOT false;
3759- QUERY PLAN
3760- ---------------------------------------------------------------------------------------------------------------------------
3761- Gather Motion 3:1 (slice1; segments: 3) (cost=10000000000.00..10000000969.00 rows=46750 width=5)
3762- -> Seq Scan on pt_bool_tab_null_1_prt_part1 pt_bool_tab_null (cost=10000000000.00..10000000345.67 rows=15583 width=5)
3763- Filter: (col2 IS NOT FALSE)
3769+ QUERY PLAN
3770+ -----------------------------------------------------------------------------------------------------------------------------------
3771+ Gather Motion 3:1 (slice1; segments: 3) (cost=10000000000.00..20000002093.83 rows=93500 width=5)
3772+ -> Append (cost=10000000000.00..20000000847.17 rows=31167 width=5)
3773+ -> Seq Scan on pt_bool_tab_null_1_prt_part1 pt_bool_tab_null_1 (cost=10000000000.00..10000000345.67 rows=15583 width=5)
3774+ Filter: (col2 IS NOT FALSE)
3775+ -> Seq Scan on pt_bool_tab_null_1_prt_part3 pt_bool_tab_null_2 (cost=10000000000.00..10000000345.67 rows=15583 width=5)
3776+ Filter: (col2 IS NOT FALSE)
37643777 Optimizer: Postgres query optimizer
3765- (4 rows)
3778+ (7 rows)
37663779
37673780SELECT * FROM pt_bool_tab_null WHERE col2 IS NOT false;
37683781 col1 | col2
37693782------+------
37703783 2 | t
37713784 3 | t
37723785 1 | t
3773- (3 rows)
3786+ 1 |
3787+ (4 rows)
37743788
37753789EXPLAIN SELECT * FROM pt_bool_tab_null WHERE col2 IS NOT unknown;
37763790 QUERY PLAN
0 commit comments