pgsql: Simplify bitmap updates in multivariate MCV code

Поиск
Список
Период
Сортировка
От Tomas Vondra
Тема pgsql: Simplify bitmap updates in multivariate MCV code
Дата
Msg-id E1ho2k8-0004Fe-DK@gemulon.postgresql.org
обсуждение исходный текст
Список 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
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/79d3a1e52a3c1706cbabb00aec9175da7055319d

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


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tomas Vondra
Дата:
Сообщение: pgsql: Remove unnecessary TYPECACHE_GT_OPR lookup
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Further adjust SPITupleTable to provide a public row-countfield