aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/optimizer/util/relnode.c7
-rw-r--r--src/backend/optimizer/util/restrictinfo.c3
-rw-r--r--src/include/optimizer/restrictinfo.h2
3 files changed, 6 insertions, 6 deletions
diff --git a/src/backend/optimizer/util/relnode.c b/src/backend/optimizer/util/relnode.c
index 8d5f7c5e8dd..04ea04b5b64 100644
--- a/src/backend/optimizer/util/relnode.c
+++ b/src/backend/optimizer/util/relnode.c
@@ -1346,8 +1346,7 @@ subbuild_joinrel_restrictlist(PlannerInfo *root,
Assert(!RINFO_IS_PUSHED_DOWN(rinfo, joinrel->relids));
if (!bms_is_subset(rinfo->required_relids, both_input_relids))
continue;
- if (!clause_is_computable_at(root, rinfo->clause_relids,
- both_input_relids))
+ if (!clause_is_computable_at(root, rinfo, both_input_relids))
continue;
}
else
@@ -1358,13 +1357,13 @@ subbuild_joinrel_restrictlist(PlannerInfo *root,
*/
#ifdef USE_ASSERT_CHECKING
if (RINFO_IS_PUSHED_DOWN(rinfo, joinrel->relids))
- Assert(clause_is_computable_at(root, rinfo->clause_relids,
+ Assert(clause_is_computable_at(root, rinfo,
joinrel->relids));
else
{
Assert(bms_is_subset(rinfo->required_relids,
both_input_relids));
- Assert(clause_is_computable_at(root, rinfo->clause_relids,
+ Assert(clause_is_computable_at(root, rinfo,
both_input_relids));
}
#endif
diff --git a/src/backend/optimizer/util/restrictinfo.c b/src/backend/optimizer/util/restrictinfo.c
index c44bd2f8157..d2bc096e1cc 100644
--- a/src/backend/optimizer/util/restrictinfo.c
+++ b/src/backend/optimizer/util/restrictinfo.c
@@ -541,9 +541,10 @@ extract_actual_join_clauses(List *restrictinfo_list,
*/
bool
clause_is_computable_at(PlannerInfo *root,
- Relids clause_relids,
+ RestrictInfo *rinfo,
Relids eval_relids)
{
+ Relids clause_relids = rinfo->clause_relids;
ListCell *lc;
/* Nothing to do if no outer joins have been performed yet. */
diff --git a/src/include/optimizer/restrictinfo.h b/src/include/optimizer/restrictinfo.h
index c9e30776c52..57e7a7999d2 100644
--- a/src/include/optimizer/restrictinfo.h
+++ b/src/include/optimizer/restrictinfo.h
@@ -40,7 +40,7 @@ extern void extract_actual_join_clauses(List *restrictinfo_list,
List **joinquals,
List **otherquals);
extern bool clause_is_computable_at(PlannerInfo *root,
- Relids clause_relids,
+ RestrictInfo *rinfo,
Relids eval_relids);
extern bool join_clause_is_movable_to(RestrictInfo *rinfo, RelOptInfo *baserel);
extern bool join_clause_is_movable_into(RestrictInfo *rinfo,