mirror of
https://github.com/postgres/postgres.git
synced 2025-10-22 14:32:25 +03:00
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
This commit is contained in:
@@ -27,6 +27,9 @@ typedef struct BrinOpcInfo
|
||||
/* Number of columns stored in an index column of this opclass */
|
||||
uint16 oi_nstored;
|
||||
|
||||
/* Regular processing of NULLs in BrinValues? */
|
||||
bool oi_regular_nulls;
|
||||
|
||||
/* Opaque pointer for the opclass' private use */
|
||||
void *oi_opaque;
|
||||
|
||||
|
Reference in New Issue
Block a user