pgsql: Don't cast between GinNullCategory and bool

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Don't cast between GinNullCategory and bool
Date: 2018-01-02 17:29:33
Message-ID: E1eWQNZ-00082j-64@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Don't cast between GinNullCategory and bool

The original idea was that we could use an isNull-style bool array
directly as a GinNullCategory array. However, the existing code already
acknowledges that that doesn't really work, because of the possibility
that bool as currently defined can have arbitrary bit patterns for true
values. So it has to loop through the nullFlags array to set each bool
value to an acceptable value. But if we are looping through the whole
array anyway, we might as well build a proper GinNullCategory array
instead and abandon the type casting. That makes the code much safer in
case bool is ever changed to something else.

Reviewed-by: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/438036264a3b71eaf39b2d2eeca67237ed38ca51

Modified Files
--------------
src/backend/access/gin/ginscan.c | 19 ++++++++-----------
src/backend/access/gin/ginutil.c | 18 ++++++++----------
src/include/access/ginblock.h | 7 +++++--
3 files changed, 21 insertions(+), 23 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Thomas Munro 2018-01-03 01:14:30 Re: pgsql: Add parallel-aware hash joins.
Previous Message Thomas Munro 2018-01-02 03:23:45 Re: pgsql: Add parallel-aware hash joins.