This is an automated email from the ASF dual-hosted git repository.
chenjinbao1989 pushed a commit to branch cbdb-postgres-merge
in repository https://gitbox.apache.org/repos/asf/cloudberry.git
The following commit(s) were added to refs/heads/cbdb-postgres-merge by this
push:
new ca22d11c4df Fix errors for parallel append
ca22d11c4df is described below
commit ca22d11c4df8bc82e7ca90c569506083c5f0c2a4
Author: Jinbao Chen <[email protected]>
AuthorDate: Mon Dec 1 23:36:16 2025 +0800
Fix errors for parallel append
---
src/backend/optimizer/util/pathnode.c | 1 +
src/test/regress/expected/aggregates.out | 10 +++++-----
src/test/regress/serial_schedule | 4 ++--
src/test/regress/sql/select_parallel.sql | 15 ++++-----------
4 files changed, 12 insertions(+), 18 deletions(-)
diff --git a/src/backend/optimizer/util/pathnode.c
b/src/backend/optimizer/util/pathnode.c
index 1d276a1edc7..ca3789da627 100644
--- a/src/backend/optimizer/util/pathnode.c
+++ b/src/backend/optimizer/util/pathnode.c
@@ -2180,6 +2180,7 @@ set_append_path_locus(PlannerInfo *root, Path *pathnode,
RelOptInfo *rel,
!CdbPathLocus_IsGeneral(targetlocus) &&
!CdbPathLocus_IsSingleQE(targetlocus),
targetlocus.parallel_workers > 1);
pathnode->parallel_workers = targetlocus.parallel_workers;
+ pathnode->parallel_aware = pathnode->parallel_workers > 1 ? true :
false;
*subpaths_out = new_subpaths;
diff --git a/src/test/regress/expected/aggregates.out
b/src/test/regress/expected/aggregates.out
index 149e2eb772f..acead353f5d 100644
--- a/src/test/regress/expected/aggregates.out
+++ b/src/test/regress/expected/aggregates.out
@@ -2470,15 +2470,15 @@ select * from v_pagg_test order by y;
y | tmin | tmax | tndistinct | bmin | bmax | bndistinct | amin | amax |
andistinct | aamin | aamax | aandistinct
---+------+------+------------+------+------+------------+------+------+------------+-------+-------+-------------
0 | 10 | 5000 | 500 | 10 | 990 | 500 | 10 | 5000 |
500 | 10 | 5000 | 500
- 1 | 11 | 4991 | 250 | 1011 | 991 | 250 | 11 | 4991 |
250 | 31 | 4991 | 166
+ 1 | 11 | 4991 | 250 | 1011 | 991 | 250 | 11 | 4991 |
250 | 11 | 4991 | 250
2 | 2 | 4992 | 500 | 1002 | 992 | 500 | 2 | 4992 |
500 | 2 | 4992 | 500
- 3 | 3 | 4983 | 250 | 1003 | 983 | 250 | 3 | 4983 |
250 | 3 | 4983 | 229
+ 3 | 3 | 4983 | 250 | 1003 | 983 | 250 | 3 | 4983 |
250 | 3 | 4983 | 250
4 | 4 | 4994 | 500 | 1004 | 994 | 500 | 4 | 4994 |
500 | 4 | 4994 | 500
- 5 | 15 | 4995 | 250 | 1015 | 995 | 250 | 15 | 4995 |
250 | 15 | 4995 | 230
+ 5 | 15 | 4995 | 250 | 1015 | 995 | 250 | 15 | 4995 |
250 | 15 | 4995 | 250
6 | 6 | 4996 | 500 | 1006 | 996 | 500 | 6 | 4996 |
500 | 6 | 4996 | 500
- 7 | 7 | 4987 | 250 | 1007 | 987 | 250 | 7 | 4987 |
250 | 7 | 4987 | 229
+ 7 | 7 | 4987 | 250 | 1007 | 987 | 250 | 7 | 4987 |
250 | 7 | 4987 | 250
8 | 8 | 4998 | 500 | 1008 | 998 | 500 | 8 | 4998 |
500 | 8 | 4998 | 500
- 9 | 19 | 4999 | 250 | 1019 | 999 | 250 | 19 | 4999 |
250 | 19 | 4979 | 167
+ 9 | 19 | 4999 | 250 | 1019 | 999 | 250 | 19 | 4999 |
250 | 19 | 4999 | 250
(10 rows)
-- Ensure parallel aggregation is actually being used.
diff --git a/src/test/regress/serial_schedule b/src/test/regress/serial_schedule
index 2c221949c4c..85922ac3fb5 100644
--- a/src/test/regress/serial_schedule
+++ b/src/test/regress/serial_schedule
@@ -144,8 +144,8 @@ test: psql_crosstab
test: amutils
test: stats_ext
test: collate.linux.utf8
-#test: select_parallel
-# test: write_parallel
+test: select_parallel
+test: write_parallel
test: publication
test: subscription
test: select_views
diff --git a/src/test/regress/sql/select_parallel.sql
b/src/test/regress/sql/select_parallel.sql
index c5d7109fc8f..79cf389fafd 100644
--- a/src/test/regress/sql/select_parallel.sql
+++ b/src/test/regress/sql/select_parallel.sql
@@ -401,14 +401,9 @@ explain (costs off)
-- to increase the parallel query test coverage
SAVEPOINT settings;
-<<<<<<< HEAD
-SET LOCAL force_parallel_mode = 1;
+SET LOCAL debug_parallel_query = 1;
-- CBDB_PARALLEL_FIXME: analyze actual rows may be different by running
multiple times.
EXPLAIN (timing off, summary off, costs off) SELECT * FROM tenk1;
-=======
-SET LOCAL debug_parallel_query = 1;
-EXPLAIN (analyze, timing off, summary off, costs off) SELECT * FROM tenk1;
->>>>>>> REL_16_9
ROLLBACK TO SAVEPOINT settings;
-- provoke error in worker
@@ -477,10 +472,6 @@ SELECT 1 FROM tenk1_vw_sec
rollback;
-<<<<<<< HEAD
-reset enable_parallel;
-reset optimizer;
-=======
-- test that function option SET ROLE works in parallel workers.
create role regress_parallel_worker;
@@ -534,4 +525,6 @@ SET debug_parallel_query = on;
DELETE FROM parallel_hang WHERE 380 <= i AND i <= 420;
ROLLBACK;
->>>>>>> REL_16_9
+
+reset enable_parallel;
+reset optimizer;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]