pgsql: Refactor index cost estimation functions in view ofIndexClause - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Refactor index cost estimation functions in view ofIndexClause
Date
Msg-id E1guhrZ-0003ro-0B@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Refactor index cost estimation functions in view of IndexClause changes.

Get rid of deconstruct_indexquals() in favor of just iterating over the
IndexClause list directly.  The extra services that that function used to
provide, such as hiding clause commutation and associating the right index
column with each clause, are no longer useful given the new data structure.
I'd originally thought that it'd provide a useful amount of abstraction
by freeing callers from paying attention to the exact clause type of each
indexqual, but that hope proves to have been vain, because few callers can
ignore the semantic differences between different clause types.  Indeed,
removing it results in a net code savings, and probably some cycles shaved
by not having to build an extra list-of-structs data structure.

Also, export a few formerly-static support functions, with the goal
of allowing extension AMs to write functionality equivalent to
genericcostestimate() without pointless code duplication.

Discussion: https://postgr.es/m/24586.1550106354@sss.pgh.pa.us

Branch
------
master

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

Modified Files
--------------
contrib/bloom/blcost.c           |   6 +-
src/backend/utils/adt/selfuncs.c | 379 +++++++++++++++++----------------------
src/include/utils/selfuncs.h     |  20 +--
3 files changed, 172 insertions(+), 233 deletions(-)


pgsql-committers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: pgsql: Fix compiler builtin usage in new pg_bitutils.c
Next
From: Tom Lane
Date:
Subject: Re: pgsql: Fix compiler builtin usage in new pg_bitutils.c