pgsql: Use column collation for extended statistics

From: Tomas Vondra <tomas(dot)vondra(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Use column collation for extended statistics
Date: 2019-07-20 14:35:40
Message-ID: E1hoqSa-0001Z0-La@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Use column collation for extended statistics

The current extended statistics code was a bit confused which collation
to use. When building the statistics, the collations defined as default
for the data types were used (since commit 5e0928005). The MCV code was
however using the column collations for MCV serialization, and then
DEFAULT_COLLATION_OID when computing estimates. So overall the code was
using all three possible options, inconsistently.

This uses the column colation everywhere - this makes it consistent with
what 5e0928005 did for regular stats. We however do not track the
collations in a catalog, because we can derive them from column-level
information. This may need to change in the future, e.g. after allowing
statistics on expressions.

Reviewed-by: Tom Lane
Discussion: https://postgr.es/m/8736jdhbhc.fsf%40ansel.ydns.eu
Backpatch-to: 12

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/5a8ee9f2dbe040b9a0cb7f73a4376633f93b4ab4

Modified Files
--------------
src/backend/commands/statscmds.c | 4 ++++
src/backend/statistics/dependencies.c | 2 +-
src/backend/statistics/mcv.c | 15 +++++++++++----
src/backend/statistics/mvdistinct.c | 2 +-
4 files changed, 17 insertions(+), 6 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tomas Vondra 2019-07-20 14:37:44 pgsql: Use column collation for extended statistics
Previous Message Michael Paquier 2019-07-20 09:17:33 Re: pgsql: Sync our copy of the timezone library with IANA release tzcode20