pgsql: Simplify bitmap updates in multivariate MCV code - Mailing list pgsql-committers

From Tomas Vondra
Subject pgsql: Simplify bitmap updates in multivariate MCV code
Date
Msg-id E1ho2jg-0004Dy-Lk@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Simplify bitmap updates in multivariate MCV code

When evaluating clauses on a multivariate MCV list, we build a bitmap
tracking how the clauses match each item of the MCV list.  When updating
the bitmap we need to consider the current value (tracking how the item
matches preceding clauses), match for the current clause and whether the
clauses are connected by AND or OR.

Until now the logic was copied on every place updating the bitmap, which
was not quite readable.  So just move it to a separate function and call
it where needed.

Backpatch to 12, where the code was introduced. While not a bugfix, this
should make maintenance and future backpatches easier.

Discussion: https://postgr.es/m/8736jdhbhc.fsf%40ansel.ydns.eu

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/7d24f6a49076f975ca87926b3cde8fdea3448ecb

Modified Files
--------------
src/backend/statistics/mcv.c | 123 +++++++++++++++++--------------------------
1 file changed, 47 insertions(+), 76 deletions(-)


pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: pgsql: tableam: comment improvements.
Next
From: Tomas Vondra
Date:
Subject: pgsql: Fix handling of opclauses in extended statistics