From ef1e294f0c3bceee5417fdf836176281f7652f95 Mon Sep 17 00:00:00 2001 From: William Bernbaum Date: Tue, 25 Aug 2026 19:06:37 -0700 Subject: [PATCH 1/4] semijoin-v1-patch-a Co-authored-by: Cursor --- src/backend/optimizer/plan/initsplan.c | 4 +--- src/include/optimizer/planmain.h | 2 ++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/optimizer/plan/initsplan.c b/src/backend/optimizer/plan/initsplan.c index f08a918146c..f2ee16ec803 100644 --- a/src/backend/optimizer/plan/initsplan.c +++ b/src/backend/optimizer/plan/initsplan.c @@ -117,8 +117,6 @@ static SpecialJoinInfo *make_outerjoininfo(PlannerInfo *root, Relids inner_join_rels, JoinType jointype, Index ojrelid, List *clause); -static void compute_semijoin_info(PlannerInfo *root, SpecialJoinInfo *sjinfo, - List *clause); static void deconstruct_distribute_oj_quals(PlannerInfo *root, List *jtitems, JoinTreeItem *jtitem); @@ -2482,7 +2480,7 @@ make_outerjoininfo(PlannerInfo *root, * Note: this relies on only the jointype and syn_righthand fields of the * SpecialJoinInfo; the rest may not be set yet. */ -static void +void compute_semijoin_info(PlannerInfo *root, SpecialJoinInfo *sjinfo, List *clause) { List *semi_operators; diff --git a/src/include/optimizer/planmain.h b/src/include/optimizer/planmain.h index 71c043a25e8..850277f2f2f 100644 --- a/src/include/optimizer/planmain.h +++ b/src/include/optimizer/planmain.h @@ -104,6 +104,8 @@ extern RestrictInfo *build_implied_join_equality(PlannerInfo *root, Index security_level); extern void rebuild_joinclause_attr_needed(PlannerInfo *root); extern void match_foreign_keys_to_quals(PlannerInfo *root); +extern void compute_semijoin_info(PlannerInfo *root, SpecialJoinInfo *sjinfo, + List *clause); /* * prototypes for plan/analyzejoins.c