pgsql: Move IS [NOT] NULL handling from BRIN support functions - Mailing list pgsql-committers

From Tomas Vondra
Subject pgsql: Move IS [NOT] NULL handling from BRIN support functions
Date
Msg-id E1lOUOI-0007wK-58@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
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(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Short-circuit slice requests that are for more than the object's
Next
From: Bruce Momjian
Date:
Subject: pgsql: Add macro RelationIsPermanent() to report relation permanence