pgsql: Make ANALYZE compute basic statistics even for types with no "=" - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Make ANALYZE compute basic statistics even for types with no "="
Date
Msg-id E1ZesVe-0004DB-9y@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Make ANALYZE compute basic statistics even for types with no "=" operator.

Previously, ANALYZE simply ignored columns of datatypes that have neither
a btree nor hash opclass (which means they have no recognized equality
operator).  Without a notion of equality, we can't identify most-common
values nor estimate the number of distinct values.  But we can still
count nulls and compute the average physical column width, and those
stats might be of value.  Moreover there are some tools out there that
don't work so well if rows are missing from pg_statistic.  So let's
add suitable logic for this case.

While this is arguably a bug fix, it also has the potential to change
query plans, and the gain seems not worth taking a risk of that in
stable branches.  So back-patch into 9.5 but not further.

Oleksandr Shulgin, rewritten a bit by me.

Branch
------
REL9_5_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/cfb2024ae40e3bbf7a7390bbb053504b757705c2

Modified Files
--------------
src/backend/commands/analyze.c |  118 +++++++++++++++++++++++++++++++++++-----
1 file changed, 104 insertions(+), 14 deletions(-)


pgsql-committers by date:

Previous
From: Robert Haas
Date:
Subject: pgsql: Add readfuncs.c support for plan nodes.
Next
From: Gavin Flower
Date:
Subject: Re: [HACKERS] pgsql: Use gender-neutral language in documentation