diff --git a/src/backend/utils/adt/selfuncs.c b/src/backend/utils/adt/selfuncs.c index 17640b2328..2240636e6c 100644 --- a/src/backend/utils/adt/selfuncs.c +++ b/src/backend/utils/adt/selfuncs.c @@ -4025,11 +4025,11 @@ estimate_multivariate_ndistinct(PlannerInfo *root, RelOptInfo *rel, attnum = ((Var *) varinfo->var)->varattno; - if (!AttrNumberIsForUserDefinedAttr(attnum)) + if (AttrNumberIsForUserDefinedAttr(attnum) && + bms_is_member(attnum, matched)) continue; - if (!bms_is_member(attnum, matched)) - newlist = lappend(newlist, varinfo); + newlist = lappend(newlist, varinfo); } *varinfos = newlist;