You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudberry.apache.org by ch...@apache.org on 2025/11/19 01:51:30 UTC

(cloudberry) branch cbdb-postgres-merge updated: Consider JOIN_RIGHT_ANTI in locus

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 5b1c5b54eee Consider JOIN_RIGHT_ANTI in locus
5b1c5b54eee is described below

commit 5b1c5b54eee4a4dfc70b5835ae97644c5efa4819
Author: Jinbao Chen <ch...@gmail.com>
AuthorDate: Wed Nov 19 09:51:18 2025 +0800

    Consider JOIN_RIGHT_ANTI in locus
---
 src/backend/cdb/cdbpath.c      | 3 ++-
 src/backend/cdb/cdbpathlocus.c | 6 ++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/backend/cdb/cdbpath.c b/src/backend/cdb/cdbpath.c
index 0a3b437d696..153851c37d5 100644
--- a/src/backend/cdb/cdbpath.c
+++ b/src/backend/cdb/cdbpath.c
@@ -1464,10 +1464,10 @@ cdbpath_motion_for_join(PlannerInfo *root,
 		case JOIN_ANTI:
 		case JOIN_LEFT:
 		case JOIN_LASJ_NOTIN:
-		case JOIN_RIGHT_ANTI:
 			outer.ok_to_replicate = false;
 			break;
 		case JOIN_RIGHT:
+		case JOIN_RIGHT_ANTI:
 			inner.ok_to_replicate = false;
 			break;
 		case JOIN_FULL:
@@ -3106,6 +3106,7 @@ cdbpath_motion_for_parallel_join(PlannerInfo *root,
 		case JOIN_UNIQUE_OUTER:
 		case JOIN_UNIQUE_INNER:
 		case JOIN_RIGHT:
+		case JOIN_RIGHT_ANTI:
 		case JOIN_FULL:
 			/* Join types are not supported in parallel yet. */
 			goto fail;
diff --git a/src/backend/cdb/cdbpathlocus.c b/src/backend/cdb/cdbpathlocus.c
index b765c742e0d..fdbd9550c05 100644
--- a/src/backend/cdb/cdbpathlocus.c
+++ b/src/backend/cdb/cdbpathlocus.c
@@ -838,7 +838,8 @@ cdbpathlocus_join(JoinType jointype, CdbPathLocus a, CdbPathLocus b)
 	{
 		resultlocus = a;
 	}
-	else if (jointype == JOIN_RIGHT)
+	else if (jointype == JOIN_RIGHT ||
+			 jointype == JOIN_RIGHT_ANTI)
 	{
 		resultlocus = b;
 	}
@@ -1426,7 +1427,8 @@ cdbpathlocus_parallel_join(JoinType jointype, CdbPathLocus a, CdbPathLocus b, bo
 	{
 		resultlocus = a;
 	}
-	else if (jointype == JOIN_RIGHT)
+	else if (jointype == JOIN_RIGHT ||
+			 jointype == JOIN_RIGHT_ANTI)
 	{
 		resultlocus = b;
 	}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cloudberry.apache.org
For additional commands, e-mail: commits-help@cloudberry.apache.org