On Mon, Oct 31, 2022 at 1:05 AM Justin Pryzby <pry...@telsasoft.com> wrote:

> I think this is what's needed.
>
> diff --git a/src/backend/utils/adt/selfuncs.c
> b/src/backend/utils/adt/selfuncs.c
> index 14e0885f19f..4450f0d682f 100644
> --- a/src/backend/utils/adt/selfuncs.c
> +++ b/src/backend/utils/adt/selfuncs.c
> @@ -5240,6 +5240,8 @@ examine_variable(PlannerInfo *root, Node *node, int
> varRelid,
>                         /* skip stats without per-expression stats */
>                         if (info->kind != STATS_EXT_EXPRESSIONS)
>                                 continue;
> +                       if (info->inherit != rte->inh)
> +                               continue;
>
>                         pos = 0;
>                         foreach(expr_item, info->exprs)
>

I think we also need to do this when loading the ndistinct value, to
skip statistics with mismatching stxdinherit in
estimate_multivariate_ndistinct().

Thanks
Richard

Reply via email to