diff --git a/src/backend/optimizer/path/equivclass.c b/src/backend/optimizer/path/equivclass.c index 441f12f6c5..21c4ce27e9 100644 --- a/src/backend/optimizer/path/equivclass.c +++ b/src/backend/optimizer/path/equivclass.c @@ -3001,6 +3001,11 @@ add_child_join_rel_equivalences(PlannerInfo *root, /* Yes, generate transformed child version */ Expr *child_expr; Relids new_relids; + int i; + + i = bms_next_member(child_joinrel->relids, -1); + if (i < 0) + continue; if (parent_joinrel->reloptkind == RELOPT_JOINREL) { @@ -3059,7 +3064,7 @@ add_child_join_rel_equivalences(PlannerInfo *root, cur_em->em_jdomain, cur_em, cur_em->em_datatype, - bms_next_member(child_joinrel->relids, -1)); + i); } } }