From 7875452c055207f7877082872997ca6af3f7a197 Mon Sep 17 00:00:00 2001 From: Melanie Plageman Date: Sun, 5 Apr 2026 17:42:39 -0400 Subject: [PATCH v8-alt 7/7] other test changes? these didn't seem needed for earlier commits to pass tests --- src/test/isolation/expected/merge-update.out | 4 +- src/test/isolation/specs/merge-update.spec | 2 +- src/test/regress/expected/partition_prune.out | 60 +++++++++---------- src/test/regress/sql/partition_prune.sql | 60 +++++++++---------- 4 files changed, 63 insertions(+), 63 deletions(-) diff --git a/src/test/isolation/expected/merge-update.out b/src/test/isolation/expected/merge-update.out index dd9c67c4dc1..a7578d8aea6 100644 --- a/src/test/isolation/expected/merge-update.out +++ b/src/test/isolation/expected/merge-update.out @@ -70,7 +70,7 @@ step merge1: step c1: COMMIT; step explain_merge2a: SELECT explain_filter($$ - EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF, BUFFERS OFF) + EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF, BUFFERS OFF, IO OFF) MERGE INTO target t USING (SELECT 1 as key, 'merge2a' as val) s ON s.key = t.key @@ -175,7 +175,7 @@ step merge1: step explain_merge2a: SELECT explain_filter($$ - EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF, BUFFERS OFF) + EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF, BUFFERS OFF, IO OFF) MERGE INTO target t USING (SELECT 1 as key, 'merge2a' as val) s ON s.key = t.key diff --git a/src/test/isolation/specs/merge-update.spec b/src/test/isolation/specs/merge-update.spec index cf387eccefc..66d851a7aa1 100644 --- a/src/test/isolation/specs/merge-update.spec +++ b/src/test/isolation/specs/merge-update.spec @@ -119,7 +119,7 @@ step "merge2a" step "explain_merge2a" { SELECT explain_filter($$ - EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF, BUFFERS OFF) + EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF, BUFFERS OFF, IO OFF) MERGE INTO target t USING (SELECT 1 as key, 'merge2a' as val) s ON s.key = t.key diff --git a/src/test/regress/expected/partition_prune.out b/src/test/regress/expected/partition_prune.out index 6bd15f26aec..811f1467bcf 100644 --- a/src/test/regress/expected/partition_prune.out +++ b/src/test/regress/expected/partition_prune.out @@ -2169,7 +2169,7 @@ create table ab_a3_b3 partition of ab_a3 for values in (3); set enable_indexonlyscan = off; prepare ab_q1 (int, int, int) as select * from ab where a between $1 and $2 and b <= $3; -explain (analyze, costs off, summary off, timing off, buffers off) execute ab_q1 (2, 2, 3); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute ab_q1 (2, 2, 3); QUERY PLAN ------------------------------------------------------------ Append (actual rows=0.00 loops=1) @@ -2182,7 +2182,7 @@ explain (analyze, costs off, summary off, timing off, buffers off) execute ab_q1 Filter: ((a >= $1) AND (a <= $2) AND (b <= $3)) (8 rows) -explain (analyze, costs off, summary off, timing off, buffers off) execute ab_q1 (1, 2, 3); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute ab_q1 (1, 2, 3); QUERY PLAN ------------------------------------------------------------ Append (actual rows=0.00 loops=1) @@ -2205,7 +2205,7 @@ deallocate ab_q1; -- Runtime pruning after optimizer pruning prepare ab_q1 (int, int) as select a from ab where a between $1 and $2 and b < 3; -explain (analyze, costs off, summary off, timing off, buffers off) execute ab_q1 (2, 2); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute ab_q1 (2, 2); QUERY PLAN ------------------------------------------------------------ Append (actual rows=0.00 loops=1) @@ -2216,7 +2216,7 @@ explain (analyze, costs off, summary off, timing off, buffers off) execute ab_q1 Filter: ((a >= $1) AND (a <= $2) AND (b < 3)) (6 rows) -explain (analyze, costs off, summary off, timing off, buffers off) execute ab_q1 (2, 4); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute ab_q1 (2, 4); QUERY PLAN ------------------------------------------------------------ Append (actual rows=0.00 loops=1) @@ -2235,7 +2235,7 @@ explain (analyze, costs off, summary off, timing off, buffers off) execute ab_q1 -- different levels of partitioning. prepare ab_q2 (int, int) as select a from ab where a between $1 and $2 and b < (select 3); -explain (analyze, costs off, summary off, timing off, buffers off) execute ab_q2 (2, 2); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute ab_q2 (2, 2); QUERY PLAN ---------------------------------------------------------------------------- Append (actual rows=0.00 loops=1) @@ -2253,7 +2253,7 @@ explain (analyze, costs off, summary off, timing off, buffers off) execute ab_q2 -- As above, but swap the PARAM_EXEC Param to the first partition level prepare ab_q3 (int, int) as select a from ab where b between $1 and $2 and a < (select 3); -explain (analyze, costs off, summary off, timing off, buffers off) execute ab_q3 (2, 2); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute ab_q3 (2, 2); QUERY PLAN ---------------------------------------------------------------------------- Append (actual rows=0.00 loops=1) @@ -2755,7 +2755,7 @@ select * from ab where a = (select max(a) from lprt_a) and b = (select max(a)-1 (61 rows) -- Test run-time partition pruning with UNION ALL parents -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from (select * from ab where a = 1 union all select * from ab) ab where b = (select 1); QUERY PLAN ---------------------------------------------------------------------------------- @@ -2802,7 +2802,7 @@ select * from (select * from ab where a = 1 union all select * from ab) ab where (40 rows) -- A case containing a UNION ALL with a non-partitioned child. -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from (select * from ab where a = 1 union all (values(10,5)) union all select * from ab) ab where b = (select 1); QUERY PLAN ---------------------------------------------------------------------------------- @@ -3278,7 +3278,7 @@ alter table part_cab attach partition part_abc_p1 for values in(3); prepare part_abc_q1 (int, int, int) as select * from part_abc where a = $1 and b = $2 and c = $3; -- Single partition should be scanned. -explain (analyze, costs off, summary off, timing off, buffers off) execute part_abc_q1 (1, 2, 3); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute part_abc_q1 (1, 2, 3); QUERY PLAN ------------------------------------------------------------- Seq Scan on part_abc_p1 part_abc (actual rows=0.00 loops=1) @@ -3303,7 +3303,7 @@ select * from listp where b = 1; -- partitions before finally detecting the correct set of 2nd level partitions -- which match the given parameter. prepare q1 (int,int) as select * from listp where b in ($1,$2); -explain (analyze, costs off, summary off, timing off, buffers off) execute q1 (1,1); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute q1 (1,1); QUERY PLAN ---------------------------------------------------------------- Append (actual rows=0.00 loops=1) @@ -3312,7 +3312,7 @@ explain (analyze, costs off, summary off, timing off, buffers off) execute q1 ( Filter: (b = ANY (ARRAY[$1, $2])) (4 rows) -explain (analyze, costs off, summary off, timing off, buffers off) execute q1 (2,2); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute q1 (2,2); QUERY PLAN ---------------------------------------------------------------- Append (actual rows=0.00 loops=1) @@ -3322,7 +3322,7 @@ explain (analyze, costs off, summary off, timing off, buffers off) execute q1 ( (4 rows) -- Try with no matching partitions. -explain (analyze, costs off, summary off, timing off, buffers off) execute q1 (0,0); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute q1 (0,0); QUERY PLAN ----------------------------------- Append (actual rows=0.00 loops=1) @@ -3333,7 +3333,7 @@ deallocate q1; -- Test more complex cases where a not-equal condition further eliminates partitions. prepare q1 (int,int,int,int) as select * from listp where b in($1,$2) and $3 <> b and $4 <> b; -- Both partitions allowed by IN clause, but one disallowed by <> clause -explain (analyze, costs off, summary off, timing off, buffers off) execute q1 (1,2,2,0); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute q1 (1,2,2,0); QUERY PLAN ------------------------------------------------------------------------- Append (actual rows=0.00 loops=1) @@ -3343,7 +3343,7 @@ explain (analyze, costs off, summary off, timing off, buffers off) execute q1 ( (4 rows) -- Both partitions allowed by IN clause, then both excluded again by <> clauses. -explain (analyze, costs off, summary off, timing off, buffers off) execute q1 (1,2,2,1); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute q1 (1,2,2,1); QUERY PLAN ----------------------------------- Append (actual rows=0.00 loops=1) @@ -3351,7 +3351,7 @@ explain (analyze, costs off, summary off, timing off, buffers off) execute q1 ( (2 rows) -- Ensure Params that evaluate to NULL properly prune away all partitions -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from listp where a = (select null::int); QUERY PLAN ------------------------------------------------------ @@ -3376,7 +3376,7 @@ create table stable_qual_pruning2 partition of stable_qual_pruning create table stable_qual_pruning3 partition of stable_qual_pruning for values from ('3000-02-01') to ('3000-03-01'); -- comparison against a stable value requires run-time pruning -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from stable_qual_pruning where a < localtimestamp; QUERY PLAN ----------------------------------------------------------------------------------------- @@ -3389,7 +3389,7 @@ select * from stable_qual_pruning where a < localtimestamp; (6 rows) -- timestamp < timestamptz comparison is only stable, not immutable -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from stable_qual_pruning where a < '2000-02-01'::timestamptz; QUERY PLAN ----------------------------------------------------------------------------------------- @@ -3400,7 +3400,7 @@ select * from stable_qual_pruning where a < '2000-02-01'::timestamptz; (4 rows) -- check ScalarArrayOp cases -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from stable_qual_pruning where a = any(array['2010-02-01', '2020-01-01']::timestamp[]); QUERY PLAN @@ -3410,7 +3410,7 @@ select * from stable_qual_pruning One-Time Filter: false (3 rows) -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from stable_qual_pruning where a = any(array['2000-02-01', '2010-01-01']::timestamp[]); QUERY PLAN @@ -3419,7 +3419,7 @@ select * from stable_qual_pruning Filter: (a = ANY ('{"Tue Feb 01 00:00:00 2000","Fri Jan 01 00:00:00 2010"}'::timestamp without time zone[])) (2 rows) -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from stable_qual_pruning where a = any(array['2000-02-01', localtimestamp]::timestamp[]); QUERY PLAN @@ -3430,7 +3430,7 @@ select * from stable_qual_pruning Filter: (a = ANY (ARRAY['Tue Feb 01 00:00:00 2000'::timestamp without time zone, LOCALTIMESTAMP])) (4 rows) -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from stable_qual_pruning where a = any(array['2010-02-01', '2020-01-01']::timestamptz[]); QUERY PLAN @@ -3439,7 +3439,7 @@ select * from stable_qual_pruning Subplans Removed: 3 (2 rows) -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from stable_qual_pruning where a = any(array['2000-02-01', '2010-01-01']::timestamptz[]); QUERY PLAN @@ -3450,7 +3450,7 @@ select * from stable_qual_pruning Filter: (a = ANY ('{"Tue Feb 01 00:00:00 2000 PST","Fri Jan 01 00:00:00 2010 PST"}'::timestamp with time zone[])) (4 rows) -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from stable_qual_pruning where a = any(null::timestamptz[]); QUERY PLAN @@ -3579,7 +3579,7 @@ insert into ma_test select x,x from generate_series(0,29) t(x); create index on ma_test (b); analyze ma_test; prepare mt_q1 (int) as select a from ma_test where a >= $1 and a % 10 = 5 order by b; -explain (analyze, costs off, summary off, timing off, buffers off) execute mt_q1(15); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute mt_q1(15); QUERY PLAN -------------------------------------------------------------------------------------------- Merge Append (actual rows=2.00 loops=1) @@ -3602,7 +3602,7 @@ execute mt_q1(15); 25 (2 rows) -explain (analyze, costs off, summary off, timing off, buffers off) execute mt_q1(25); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute mt_q1(25); QUERY PLAN -------------------------------------------------------------------------------------------- Merge Append (actual rows=1.00 loops=1) @@ -3621,7 +3621,7 @@ execute mt_q1(25); (1 row) -- Ensure MergeAppend behaves correctly when no subplans match -explain (analyze, costs off, summary off, timing off, buffers off) execute mt_q1(35); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute mt_q1(35); QUERY PLAN ----------------------------------------- Merge Append (actual rows=0.00 loops=1) @@ -3637,7 +3637,7 @@ execute mt_q1(35); deallocate mt_q1; prepare mt_q2 (int) as select * from ma_test where a >= $1 order by b limit 1; -- Ensure output list looks sane when the MergeAppend has no subplans. -explain (analyze, verbose, costs off, summary off, timing off, buffers off) execute mt_q2 (35); +explain (analyze, verbose, costs off, summary off, timing off, buffers off, io off) execute mt_q2 (35); QUERY PLAN ----------------------------------------------- Limit (actual rows=0.00 loops=1) @@ -3649,7 +3649,7 @@ explain (analyze, verbose, costs off, summary off, timing off, buffers off) exec deallocate mt_q2; -- ensure initplan params properly prune partitions -explain (analyze, costs off, summary off, timing off, buffers off) select * from ma_test where a >= (select min(b) from ma_test_p2) order by b; +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from ma_test where a >= (select min(b) from ma_test_p2) order by b; QUERY PLAN -------------------------------------------------------------------------------------------------- Merge Append (actual rows=20.00 loops=1) @@ -4108,7 +4108,7 @@ create table listp (a int, b int) partition by list (a); create table listp1 partition of listp for values in(1); create table listp2 partition of listp for values in(2) partition by list(b); create table listp2_10 partition of listp2 for values in (10); -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from listp where a = (select 2) and b <> 10; QUERY PLAN -------------------------------------------------------- @@ -4235,7 +4235,7 @@ create table rangep_0_to_100_3 partition of rangep_0_to_100 for values in(3); create table rangep_100_to_200 partition of rangep for values from (100) to (200); create index on rangep (a); -- Ensure run-time pruning works on the nested Merge Append -explain (analyze on, costs off, timing off, summary off, buffers off) +explain (analyze on, costs off, timing off, summary off, buffers off, io off) select * from rangep where b IN((select 1),(select 2)) order by a; QUERY PLAN --------------------------------------------------------------------------------------------------------------- diff --git a/src/test/regress/sql/partition_prune.sql b/src/test/regress/sql/partition_prune.sql index c5968932aed..18826ed4717 100644 --- a/src/test/regress/sql/partition_prune.sql +++ b/src/test/regress/sql/partition_prune.sql @@ -480,8 +480,8 @@ set enable_indexonlyscan = off; prepare ab_q1 (int, int, int) as select * from ab where a between $1 and $2 and b <= $3; -explain (analyze, costs off, summary off, timing off, buffers off) execute ab_q1 (2, 2, 3); -explain (analyze, costs off, summary off, timing off, buffers off) execute ab_q1 (1, 2, 3); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute ab_q1 (2, 2, 3); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute ab_q1 (1, 2, 3); deallocate ab_q1; @@ -489,21 +489,21 @@ deallocate ab_q1; prepare ab_q1 (int, int) as select a from ab where a between $1 and $2 and b < 3; -explain (analyze, costs off, summary off, timing off, buffers off) execute ab_q1 (2, 2); -explain (analyze, costs off, summary off, timing off, buffers off) execute ab_q1 (2, 4); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute ab_q1 (2, 2); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute ab_q1 (2, 4); -- Ensure a mix of PARAM_EXTERN and PARAM_EXEC Params work together at -- different levels of partitioning. prepare ab_q2 (int, int) as select a from ab where a between $1 and $2 and b < (select 3); -explain (analyze, costs off, summary off, timing off, buffers off) execute ab_q2 (2, 2); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute ab_q2 (2, 2); -- As above, but swap the PARAM_EXEC Param to the first partition level prepare ab_q3 (int, int) as select a from ab where b between $1 and $2 and a < (select 3); -explain (analyze, costs off, summary off, timing off, buffers off) execute ab_q3 (2, 2); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute ab_q3 (2, 2); -- -- Test runtime pruning with hash partitioned tables @@ -673,11 +673,11 @@ explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from ab where a = (select max(a) from lprt_a) and b = (select max(a)-1 from lprt_a); -- Test run-time partition pruning with UNION ALL parents -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from (select * from ab where a = 1 union all select * from ab) ab where b = (select 1); -- A case containing a UNION ALL with a non-partitioned child. -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from (select * from ab where a = 1 union all (values(10,5)) union all select * from ab) ab where b = (select 1); -- Another UNION ALL test, but containing a mix of exec init and exec run-time pruning. @@ -818,7 +818,7 @@ prepare part_abc_q1 (int, int, int) as select * from part_abc where a = $1 and b = $2 and c = $3; -- Single partition should be scanned. -explain (analyze, costs off, summary off, timing off, buffers off) execute part_abc_q1 (1, 2, 3); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute part_abc_q1 (1, 2, 3); deallocate part_abc_q1; @@ -838,12 +838,12 @@ select * from listp where b = 1; -- which match the given parameter. prepare q1 (int,int) as select * from listp where b in ($1,$2); -explain (analyze, costs off, summary off, timing off, buffers off) execute q1 (1,1); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute q1 (1,1); -explain (analyze, costs off, summary off, timing off, buffers off) execute q1 (2,2); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute q1 (2,2); -- Try with no matching partitions. -explain (analyze, costs off, summary off, timing off, buffers off) execute q1 (0,0); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute q1 (0,0); deallocate q1; @@ -851,13 +851,13 @@ deallocate q1; prepare q1 (int,int,int,int) as select * from listp where b in($1,$2) and $3 <> b and $4 <> b; -- Both partitions allowed by IN clause, but one disallowed by <> clause -explain (analyze, costs off, summary off, timing off, buffers off) execute q1 (1,2,2,0); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute q1 (1,2,2,0); -- Both partitions allowed by IN clause, then both excluded again by <> clauses. -explain (analyze, costs off, summary off, timing off, buffers off) execute q1 (1,2,2,1); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute q1 (1,2,2,1); -- Ensure Params that evaluate to NULL properly prune away all partitions -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from listp where a = (select null::int); drop table listp; @@ -874,30 +874,30 @@ create table stable_qual_pruning3 partition of stable_qual_pruning for values from ('3000-02-01') to ('3000-03-01'); -- comparison against a stable value requires run-time pruning -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from stable_qual_pruning where a < localtimestamp; -- timestamp < timestamptz comparison is only stable, not immutable -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from stable_qual_pruning where a < '2000-02-01'::timestamptz; -- check ScalarArrayOp cases -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from stable_qual_pruning where a = any(array['2010-02-01', '2020-01-01']::timestamp[]); -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from stable_qual_pruning where a = any(array['2000-02-01', '2010-01-01']::timestamp[]); -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from stable_qual_pruning where a = any(array['2000-02-01', localtimestamp]::timestamp[]); -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from stable_qual_pruning where a = any(array['2010-02-01', '2020-01-01']::timestamptz[]); -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from stable_qual_pruning where a = any(array['2000-02-01', '2010-01-01']::timestamptz[]); -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from stable_qual_pruning where a = any(null::timestamptz[]); @@ -969,12 +969,12 @@ create index on ma_test (b); analyze ma_test; prepare mt_q1 (int) as select a from ma_test where a >= $1 and a % 10 = 5 order by b; -explain (analyze, costs off, summary off, timing off, buffers off) execute mt_q1(15); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute mt_q1(15); execute mt_q1(15); -explain (analyze, costs off, summary off, timing off, buffers off) execute mt_q1(25); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute mt_q1(25); execute mt_q1(25); -- Ensure MergeAppend behaves correctly when no subplans match -explain (analyze, costs off, summary off, timing off, buffers off) execute mt_q1(35); +explain (analyze, costs off, summary off, timing off, buffers off, io off) execute mt_q1(35); execute mt_q1(35); deallocate mt_q1; @@ -982,12 +982,12 @@ deallocate mt_q1; prepare mt_q2 (int) as select * from ma_test where a >= $1 order by b limit 1; -- Ensure output list looks sane when the MergeAppend has no subplans. -explain (analyze, verbose, costs off, summary off, timing off, buffers off) execute mt_q2 (35); +explain (analyze, verbose, costs off, summary off, timing off, buffers off, io off) execute mt_q2 (35); deallocate mt_q2; -- ensure initplan params properly prune partitions -explain (analyze, costs off, summary off, timing off, buffers off) select * from ma_test where a >= (select min(b) from ma_test_p2) order by b; +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from ma_test where a >= (select min(b) from ma_test_p2) order by b; reset enable_seqscan; reset enable_sort; @@ -1167,7 +1167,7 @@ create table listp1 partition of listp for values in(1); create table listp2 partition of listp for values in(2) partition by list(b); create table listp2_10 partition of listp2 for values in (10); -explain (analyze, costs off, summary off, timing off, buffers off) +explain (analyze, costs off, summary off, timing off, buffers off, io off) select * from listp where a = (select 2) and b <> 10; -- @@ -1235,7 +1235,7 @@ create table rangep_100_to_200 partition of rangep for values from (100) to (200 create index on rangep (a); -- Ensure run-time pruning works on the nested Merge Append -explain (analyze on, costs off, timing off, summary off, buffers off) +explain (analyze on, costs off, timing off, summary off, buffers off, io off) select * from rangep where b IN((select 1),(select 2)) order by a; reset enable_sort; drop table rangep; -- 2.43.0