diff --git a/src/backend/optimizer/path/indxpath.c b/src/backend/optimizer/path/indxpath.c index a43ca16d68..c983753f84 100644 --- a/src/backend/optimizer/path/indxpath.c +++ b/src/backend/optimizer/path/indxpath.c @@ -4286,7 +4286,8 @@ relation_has_unique_index_ext(PlannerInfo *root, RelOptInfo *rel, { matched = true; /* column is unique */ - if (bms_membership(rinfo->clause_relids) == BMS_SINGLETON) + if (extra_clauses && + bms_membership(rinfo->clause_relids) == BMS_SINGLETON) { MemoryContext oldMemCtx = MemoryContextSwitchTo(root->planner_cxt); @@ -4298,8 +4299,8 @@ relation_has_unique_index_ext(PlannerInfo *root, RelOptInfo *rel, */ Assert(bms_is_empty(rinfo->left_relids) || bms_is_empty(rinfo->right_relids)); - if (extra_clauses) - exprs = lappend(exprs, rinfo); + + exprs = lappend(exprs, rinfo); MemoryContextSwitchTo(oldMemCtx); }