This is an automated email from the ASF dual-hosted git repository.

yjhjstz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudberry.git

commit d482b426f08c3b95fb56e00c7bd5ce086d3ee27b
Author: Jianghua Yang <[email protected]>
AuthorDate: Wed Jul 29 21:19:33 2026 +0800

    regress: ANALYZE nametbl to stabilize index_including IOS plan
    
    The nametbl covering-index test only did VACUUM FREEZE with no ANALYZE, so
    with no column statistics GPORCA used default cardinalities and the plan
    flipped between Index Only Scan and Index Scan across environments. Add
    ANALYZE nametbl so the intended Index Only Scan plan is deterministic under
    both optimizer=off and optimizer=on.
---
 src/test/regress/expected/index_including.out           | 1 +
 src/test/regress/expected/index_including_optimizer.out | 1 +
 src/test/regress/sql/index_including.sql                | 1 +
 3 files changed, 3 insertions(+)

diff --git a/src/test/regress/expected/index_including.out 
b/src/test/regress/expected/index_including.out
index 03b515b1e21..992c836395d 100644
--- a/src/test/regress/expected/index_including.out
+++ b/src/test/regress/expected/index_including.out
@@ -449,6 +449,7 @@ HINT:  The 'DISTRIBUTED BY' clause determines the 
distribution of data. Make sur
 CREATE INDEX nametbl_c1_c2_idx ON nametbl (c2, c1) INCLUDE (c3);
 INSERT INTO nametbl  SELECT x, 'two', 3.0 FROM generate_series(1,100) AS x;;
 VACUUM FREEZE nametbl;
+ANALYZE nametbl;
 SET enable_seqscan = 0;
 -- Ensure we get an index only scan plan
 EXPLAIN (COSTS OFF) SELECT c2, c1, c3 FROM nametbl WHERE c2 = 'two' AND c1 = 1;
diff --git a/src/test/regress/expected/index_including_optimizer.out 
b/src/test/regress/expected/index_including_optimizer.out
index 2b757917141..e53a1186782 100644
--- a/src/test/regress/expected/index_including_optimizer.out
+++ b/src/test/regress/expected/index_including_optimizer.out
@@ -417,6 +417,7 @@ CREATE TABLE nametbl (c1 int, c2 name, c3 float);
 CREATE INDEX nametbl_c1_c2_idx ON nametbl (c2, c1) INCLUDE (c3);
 INSERT INTO nametbl  SELECT x, 'two', 3.0 FROM generate_series(1,100) AS x;;
 VACUUM FREEZE nametbl;
+ANALYZE nametbl;
 SET enable_seqscan = 0;
 -- Ensure we get an index only scan plan
 EXPLAIN (COSTS OFF) SELECT c2, c1, c3 FROM nametbl WHERE c2 = 'two' AND c1 = 1;
diff --git a/src/test/regress/sql/index_including.sql 
b/src/test/regress/sql/index_including.sql
index 039fe3d2432..8c55f839123 100644
--- a/src/test/regress/sql/index_including.sql
+++ b/src/test/regress/sql/index_including.sql
@@ -228,6 +228,7 @@ CREATE TABLE nametbl (c1 int, c2 name, c3 float);
 CREATE INDEX nametbl_c1_c2_idx ON nametbl (c2, c1) INCLUDE (c3);
 INSERT INTO nametbl  SELECT x, 'two', 3.0 FROM generate_series(1,100) AS x;;
 VACUUM FREEZE nametbl;
+ANALYZE nametbl;
 SET enable_seqscan = 0;
 -- Ensure we get an index only scan plan
 EXPLAIN (COSTS OFF) SELECT c2, c1, c3 FROM nametbl WHERE c2 = 'two' AND c1 = 1;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to