Re: Showing applied extended statistics in explain Part 2
Ilia Evdokimov <ilya.evdokimov@tantorlabs.com>
From: Ilia Evdokimov <ilya.evdokimov@tantorlabs.com>
To: Tomas Vondra <tomas@vondra.me>, Tatsuro Yamada <yamatattsu@gmail.com>,
Masahiro.Ikeda@nttdata.com
Cc: tomas.vondra@enterprisedb.com, tatsuro.yamada@ntt.com,
pgsql-hackers@postgresql.org, Masao.Fujii@nttdata.com
Date: 2024-12-02T17:00:23Z
Lists: pgsql-hackers
On 19.11.2024 00:38, Tomas Vondra wrote: > On 11/18/24 22:15, Tomas Vondra wrote: >> ... >> >> So I think the correct solution is to not pass any expressions with >> RestrictInfo to deparse_expression(). Either by stripping the nodes, or >> by not adding them at all. >> >> The patch tries to do the stripping by maybe_extract_actual_clauses(), >> but that only looks at the top node, and that is not sufficient here. >> Maybe it would be possible to walk the whole tree, and remove all the >> RestrictInfos nodes - including intermediate ones, not just the top. But >> I'm not quite sure it wouldn't cause issues elsewhere (assuming it >> modifies the existing nodes). It still feels a bit like fixing a problem >> we shouldn't really have ... >> > To make this idea a bit more concrete, here's a patch removing all > RestrictInfo nodes in show_stat_qual(). But still, it feels wrong. > > > regards > Yes, removing all 'RestrictInfos' during deparsing using 'expression_tree_mutator()' is not optimal. However, I don't see an alternative. Perhaps it could be done this earlier in extended_stats.c to avoid the need for cleanup later ... -- Best regards, Ilia Evdokimov, Tantor Labs LLC.