pgsql: Make ANALYZE compute basic statistics even for types with no "="

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Make ANALYZE compute basic statistics even for types with no "="
Date: 2015-09-23 22:27:30
Message-ID: E1ZesVe-0004DB-9y@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Gavin Flower 2015-09-24 10:33:43 Re: [HACKERS] pgsql: Use gender-neutral language in documentation
Previous Message Robert Haas 2015-09-23 15:56:15 pgsql: Add readfuncs.c support for plan nodes.