| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: Fix failure of btree_gin indexscans with "char" type and </<= op |
| Date: | 2021-08-10 22:10:53 |
| Message-ID: | E1mDZxV-0002PI-K0@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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_14_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/a4957b5a72dc9e169b78604f67357bb3dc49d826
Modified Files
--------------
contrib/btree_gin/btree_gin.c | 2 +-
contrib/btree_gin/expected/char.out | 11 +++++++++--
2 files changed, 10 insertions(+), 3 deletions(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Amit Kapila | 2021-08-11 13:47:07 | Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o |
| Previous Message | noreply | 2021-08-10 21:41:31 | pgsql: Tag refs/tags/REL_12_8 was created |