From: | Tomas Vondra <tomas(dot)vondra(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Rework examine_opclause_expression to use varonleft |
Date: | 2019-07-20 14:35:40 |
Message-ID: | E1hoqSa-0001Yz-Lc@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Rework examine_opclause_expression to use varonleft
The examine_opclause_expression function needs to return information on
which side of the operator we found the Var, but the variable was called
"isgt" which is rather misleading (it assumes the operator is either
less-than or greater-than, but it may be equality or something else).
Other places in the planner use a variable called "varonleft" for this
purpose, so just adopt the same convention here.
The code also assumed we don't care about this flag for equality, as
(Var = Const) and (Const = Var) should be the same thing. But that does
not work for cross-type operators, in which case we need to pass the
parameters to the procedure in the right order. So just use the same
code for all types of expressions.
This means we don't need to care about the selectivity estimation
function anymore, at least not in this code. We should only get the
supported cases here (thanks to statext_is_compatible_clause).
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/fc4faea17971a927daf936a4b17564140ee412f6
Modified Files
--------------
src/backend/statistics/extended_stats.c | 16 +++---
src/backend/statistics/mcv.c | 62 +++++++-----------------
src/include/statistics/extended_stats_internal.h | 2 +-
3 files changed, 26 insertions(+), 54 deletions(-)
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 |