diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/utils/adt/selfuncs.c | 6 | ||||
-rw-r--r-- | src/test/regress/expected/stats_ext.out | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/backend/utils/adt/selfuncs.c b/src/backend/utils/adt/selfuncs.c index 2fefa916216..69a8b41f2a0 100644 --- a/src/backend/utils/adt/selfuncs.c +++ b/src/backend/utils/adt/selfuncs.c @@ -3743,11 +3743,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; diff --git a/src/test/regress/expected/stats_ext.out b/src/test/regress/expected/stats_ext.out index f2a1863c7b1..f7b351ec8e2 100644 --- a/src/test/regress/expected/stats_ext.out +++ b/src/test/regress/expected/stats_ext.out @@ -222,7 +222,7 @@ SELECT s.stxkind, d.stxdndistinct SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY ctid, a, b'); estimated | actual -----------+-------- - 11 | 1000 + 1000 | 1000 (1 row) -- Hash Aggregate, thanks to estimates improved by the statistic |