sje_joininfo_fix.patch
application/octet-stream
Filename: sje_joininfo_fix.patch
Type: application/octet-stream
Part: 0
Patch
Format: unified
| File | + | − |
|---|---|---|
| src/backend/optimizer/plan/analyzejoins.c | 6 | 0 |
diff --git a/src/backend/optimizer/plan/analyzejoins.c b/src/backend/optimizer/plan/analyzejoins.c
index 12e9ed0d0c7..68bfb76a5b0 100644
--- a/src/backend/optimizer/plan/analyzejoins.c
+++ b/src/backend/optimizer/plan/analyzejoins.c
@@ -1957,6 +1957,12 @@ remove_self_join_rel(PlannerInfo *root, PlanRowMark *kmark, PlanRowMark *rmark,
ChangeVarNodesExtended((Node *) root->parse, toRemove->relid, toKeep->relid,
0, replace_relid_callback);
+ foreach_node(RestrictInfo, rinfo, toKeep->joininfo)
+ {
+ ChangeVarNodesExtended((Node *) rinfo->clause, toRemove->relid,
+ toKeep->relid, 0, replace_relid_callback);
+ }
+
/* Replace links in the planner info */
remove_rel_from_query(root, toRemove, toKeep->relid, NULL, NULL);