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

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

commit 1c45f0c8e2daa083cde1142bd188f685f028868d
Author: Zhang Mingli <[email protected]>
AuthorDate: Tue Oct 28 17:05:33 2025 +0800

    fix unstable cte_prune again
---
 src/test/regress/expected/cte_prune.out           |  1 +
 src/test/regress/expected/cte_prune_optimizer.out | 11 ++++++-----
 src/test/regress/sql/cte_prune.sql                |  1 +
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/test/regress/expected/cte_prune.out 
b/src/test/regress/expected/cte_prune.out
index bdda6b89c9c..84f6f0b7d10 100644
--- a/src/test/regress/expected/cte_prune.out
+++ b/src/test/regress/expected/cte_prune.out
@@ -8,6 +8,7 @@ insert into t1 values(generate_series(1, 10), 
generate_series(11, 20), generate_
 analyze t1;
 create table t2(v1 int, v2 int, v3 int);
 insert into t2 values(generate_series(0, 100), generate_series(100, 200), 
generate_series(200, 300));
+analyze t2;
 -- should pruned both seq scan and shared scan
 explain verbose with c1 as (select v1, v2, v3 from t1) select c11.v1 from c1 
as c11 left join c1 as c22 on c11.v1=c22.v1 where c11.v1 < 5;
                                         QUERY PLAN                             
           
diff --git a/src/test/regress/expected/cte_prune_optimizer.out 
b/src/test/regress/expected/cte_prune_optimizer.out
index d0573b3f2d4..e7f2339a0eb 100644
--- a/src/test/regress/expected/cte_prune_optimizer.out
+++ b/src/test/regress/expected/cte_prune_optimizer.out
@@ -12,6 +12,7 @@ create table t2(v1 int, v2 int, v3 int);
 NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'v1' 
as the Apache Cloudberry data distribution key for this table.
 HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make 
sure column(s) chosen are the optimal data distribution key to minimize skew.
 insert into t2 values(generate_series(0, 100), generate_series(100, 200), 
generate_series(200, 300));
+analyze t2;
 -- should pruned both seq scan and shared scan
 explain verbose with c1 as (select v1, v2, v3 from t1) select c11.v1 from c1 
as c11 left join c1 as c22 on c11.v1=c22.v1 where c11.v1 < 5;
                                              QUERY PLAN                        
                     
@@ -867,12 +868,12 @@ select c11.v1 from c1 as c11 left join c1 as c22 on 
c11.v1=c22.v1;
                ->  Hash Join  (cost=0.00..862.00 rows=1 width=4)
                      Output: t1.v1
                      Hash Cond: (t1.v1 = t2.v1)
-                     ->  Seq Scan on cte_prune.t1  (cost=0.00..431.00 rows=4 
width=4)
-                           Output: t1.v1
-                     ->  Hash  (cost=431.00..431.00 rows=1 width=4)
+                     ->  Seq Scan on cte_prune.t2  (cost=0.00..431.00 rows=4 
width=4)
                            Output: t2.v1
-                           ->  Seq Scan on cte_prune.t2  (cost=0.00..431.00 
rows=1 width=4)
-                                 Output: t2.v1
+                     ->  Hash  (cost=431.00..431.00 rows=1 width=4)
+                           Output: t1.v1
+                           ->  Seq Scan on cte_prune.t1  (cost=0.00..431.00 
rows=1 width=4)
+                                 Output: t1.v1
          ->  Hash Left Join  (cost=0.00..862.00 rows=1 width=4)
                Output: share0_ref3.v1
                Hash Cond: (share0_ref3.v1 = share0_ref2.v1)
diff --git a/src/test/regress/sql/cte_prune.sql 
b/src/test/regress/sql/cte_prune.sql
index ae3c7671f11..2083a4b7e10 100644
--- a/src/test/regress/sql/cte_prune.sql
+++ b/src/test/regress/sql/cte_prune.sql
@@ -10,6 +10,7 @@ analyze t1;
 
 create table t2(v1 int, v2 int, v3 int);
 insert into t2 values(generate_series(0, 100), generate_series(100, 200), 
generate_series(200, 300));
+analyze t2;
 
 -- should pruned both seq scan and shared scan
 explain verbose with c1 as (select v1, v2, v3 from t1) select c11.v1 from c1 
as c11 left join c1 as c22 on c11.v1=c22.v1 where c11.v1 < 5;


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

Reply via email to