aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/gist/gistget.c
diff options
context:
space:
mode:
authorTomas Vondra <tomas.vondra@postgresql.org>2021-09-01 17:41:54 +0200
committerTomas Vondra <tomas.vondra@postgresql.org>2021-09-01 18:08:43 +0200
commit50ba70a957f9e018495a111fc4b5e5eb2ea62044 (patch)
tree893632c00d63dc397fd13f04c1f0e7785c07f38c /src/backend/access/gist/gistget.c
parentd760d942c73c9a161feefb7dc4a0004b9b4e7787 (diff)
downloadpostgresql-50ba70a957f9e018495a111fc4b5e5eb2ea62044.tar.gz
postgresql-50ba70a957f9e018495a111fc4b5e5eb2ea62044.zip
Identify simple column references in extended statistics
Until now, when defining extended statistics, everything except a plain column reference was treated as complex expression. So for example "a" was a column reference, but "(a)" would be an expression. In most cases this does not matter much, but there were a couple strange consequences. For example CREATE STATISTICS s ON a FROM t; would fail, because extended stats require at least two columns. But CREATE STATISTICS s ON (a) FROM t; would succeed, because that requirement does not apply to expressions. Moreover, that statistics object is useless - the optimizer will always use the regular statistics collected for attribute "a". So do a bit more work to identify those expressions referencing a single column, and translate them to a simple column reference. Backpatch to 14, where support for extended statistics on expressions was introduced. Reported-by: Justin Pryzby Backpatch-through: 14 Discussion: https://postgr.es/m/20210816013255.GS10479%40telsasoft.com
Diffstat (limited to 'src/backend/access/gist/gistget.c')
0 files changed, 0 insertions, 0 deletions