pgsql: Fix failure of btree_gin indexscans with "char" type and

From Tom Lane
Subject pgsql: Fix failure of btree_gin indexscans with "char" type and
Date
Msg-id E1mDZxV-0002PO-Kp@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix failure of btree_gin indexscans with "char" type and </<= operators.

As a result of confusion about whether the "char" type is signed or
unsigned, scans for index searches like "col < 'x'" or "col <= 'x'"
would start at the middle of the index not the left end, thus missing
many or all of the entries they should find.  Fortunately, this
is not a symptom of index corruption.  It's only the search logic
that is broken, and we can fix it without unpleasant side-effects.

Per report from Jason Kim.  This has been wrong since btree_gin's
beginning, so back-patch to all supported branches.

Discussion: https://postgr.es/m/20210810001649.htnltbh7c63re42p@jasonk.me

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/cd7d9b6b63f1ed1d60cab3888eb0fc2523de6f0e

Modified Files
--------------
contrib/btree_gin/btree_gin.c       |  2 +-
contrib/btree_gin/expected/char.out | 11 +++++++++--
2 files changed, 10 insertions(+), 3 deletions(-)


pgsql-committers by date:

Previous
From: noreply@postgresql.org
Date:
Subject: pgsql: Tag refs/tags/REL_12_8 was created
Next
From: Amit Kapila
Date:
Subject: Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o