You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudberry.apache.org by yj...@apache.org on 2025/01/13 08:23:19 UTC
(cloudberry) 16/21: Resolve GPDB_96_MERGE_FIXME in prepunion.c about recursive cte
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 ae976a6f0f2065888cf3d123bb158e7b172d989a
Author: xuejing zhao <80...@users.noreply.github.com>
AuthorDate: Tue Jun 6 10:16:46 2023 +0800
Resolve GPDB_96_MERGE_FIXME in prepunion.c about recursive cte
Remove GPDB_96_MERGE_FIXME in prepunion.c:
GPDB_96_MERGE_FIXME: On coordinator, before the merge, more complicated logic was added in
commit ad6a6067d9 to make the loci on the WorkTableScan and the RecursiveUnion correct.
That was largely reverted as part of the merge, and things seem to be working with this much simpler thing,
but I'm not sure if the logic is 100% correct now.
On commit ad6a6067d9 we change locus of WorkTableScan from CdbLocusType_SegmentGeneral to
CdbLocusType_SingleQE in create_worktablescan_path.
Then add gather motion to non_recursive_path before create_recursiveunion_path , change locus of
non_recursive_path from CdbLocusType_SegmentGeneral to CdbLocusType_SingleQE.
Current implement is:
Before create_worktablescan_path adding gather motion, changing locus of non_recursive_path from
CdbLocusType_SegmentGeneral to CdbLocusType_SingleQE.
Then locus of WorkTableScan use the same locus as non_recursive_path.
We moved the implementation logic before create_worktablescan_path ,And this is more simple.
---
src/backend/optimizer/prep/prepunion.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/src/backend/optimizer/prep/prepunion.c b/src/backend/optimizer/prep/prepunion.c
index fda13f0924..62e7f40867 100644
--- a/src/backend/optimizer/prep/prepunion.c
+++ b/src/backend/optimizer/prep/prepunion.c
@@ -493,11 +493,6 @@ generate_recursion_path(SetOperationStmt *setOp, PlannerInfo *root,
* SegmentGeneral, the result of the join may end up having a different
* locus.
*
- * GPDB_96_MERGE_FIXME: On master, before the merge, more complicated
- * logic was added in commit ad6a6067d9 to make the loci on the WorkTableScan
- * and the RecursiveUnion correct. That was largely reverted as part of the
- * merge, and things seem to be working with this much simpler thing, but
- * I'm not sure if the logic is 100% correct now.
*/
if (CdbPathLocus_IsSegmentGeneral(lpath->locus) || CdbPathLocus_IsSegmentGeneralWorkers(lpath->locus))
{
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cloudberry.apache.org
For additional commands, e-mail: commits-help@cloudberry.apache.org