pgsql: Use multi-variate MCV lists to estimate ScalarArrayOpExpr

From: Tomas Vondra <tomas(dot)vondra(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Use multi-variate MCV lists to estimate ScalarArrayOpExpr
Date: 2020-03-14 15:15:43
Message-ID: E1jD8Vr-0007rw-Qa@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Use multi-variate MCV lists to estimate ScalarArrayOpExpr

Commit 8f321bd16c added support for estimating ScalarArrayOpExpr clauses
(IN/ANY) clauses using functional dependencies. There's no good reason
not to support estimation of these clauses using multi-variate MCV lists
too, so this commits implements that. That makes the behavior consistent
and MCV lists can estimate all variants (ANY/ALL, inequalities, ...).

Author: Tomas Vondra
Review: Dean Rasheed
Discussion: https://www.postgresql.org/message-id/flat/13902317.Eha0YfKkKy%40pierred-pdoc

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/e83daa7e331e0718bb254ab685f2ed95df423554

Modified Files
--------------
src/backend/statistics/extended_stats.c | 66 +++++++++++++-
src/backend/statistics/mcv.c | 111 ++++++++++++++++++++++-
src/include/statistics/extended_stats_internal.h | 4 +-
src/test/regress/expected/stats_ext.out | 60 ++++++++++++
src/test/regress/sql/stats_ext.sql | 20 ++++
5 files changed, 252 insertions(+), 9 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2020-03-14 18:42:49 pgsql: Restructure polymorphic-type resolution in funcapi.c.
Previous Message Tom Lane 2020-03-13 16:49:33 pgsql: Doc: fix mistaken reference to "PG_ARGNULL_xxx()" macro.