summaryrefslogtreecommitdiff
path: root/src/backend/optimizer/plan/analyzejoins.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/optimizer/plan/analyzejoins.c')
-rw-r--r--src/backend/optimizer/plan/analyzejoins.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/src/backend/optimizer/plan/analyzejoins.c b/src/backend/optimizer/plan/analyzejoins.c
index 98cf3494e6..657b6e5907 100644
--- a/src/backend/optimizer/plan/analyzejoins.c
+++ b/src/backend/optimizer/plan/analyzejoins.c
@@ -466,12 +466,7 @@ remove_rel_from_query(PlannerInfo *root, int relid, int ojrelid,
remove_join_clause_from_rels(root, rinfo, rinfo->required_relids);
- /*
- * If the qual lists ojrelid in its required_relids, it must have come
- * from above the outer join we're removing (so we need to keep it);
- * if it does not, then it didn't and we can discard it.
- */
- if (bms_is_member(ojrelid, rinfo->required_relids))
+ if (RINFO_IS_PUSHED_DOWN(rinfo, joinrelids))
{
/*
* There might be references to relid or ojrelid in the