Обсуждение: pgsql: Move IS [NOT] NULL handling from BRIN support functions

Поиск
Список
Период
Сортировка

pgsql: Move IS [NOT] NULL handling from BRIN support functions

От
Tomas Vondra
Дата:
Move IS [NOT] NULL handling from BRIN support functions

The handling of IS [NOT] NULL clauses is independent of an opclass, and
most of the code was exactly the same in both minmax and inclusion. So
instead move the code from support procedures to the AM.

This simplifies the code - especially the support procedures - quite a
bit, as they don't need to care about NULL values and flags at all. It
also means the IS [NOT] NULL clauses can be evaluated without invoking
the support procedure.

Author: Tomas Vondra <tomas.vondra@postgresql.org>
Author: Nikita Glukhov <n.gluhov@postgrespro.ru>
Reviewed-by: Nikita Glukhov <n.gluhov@postgrespro.ru>
Reviewed-by: Mark Dilger <hornschnorter@gmail.com>
Reviewed-by: Alexander Korotkov <aekorotkov@gmail.com>
Reviewed-by: Masahiko Sawada <masahiko.sawada@enterprisedb.com>
Reviewed-by: John Naylor <john.naylor@enterprisedb.com>
Discussion: https://postgr.es/m/c1138ead-7668-f0e1-0638-c3be3237e812@2ndquadrant.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/72ccf55cb99c6450dfb77f2f8f4a28b5c049ef7a

Modified Files
--------------
src/backend/access/brin/brin.c           | 293 ++++++++++++++++++++++++-------
src/backend/access/brin/brin_inclusion.c |  96 +---------
src/backend/access/brin/brin_minmax.c    |  93 +---------
src/include/access/brin_internal.h       |   3 +
4 files changed, 244 insertions(+), 241 deletions(-)