Thread: pgsql: Fix failure of btree_gin indexscans with "char" type and
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 ------ master Details ------- https://git.postgresql.org/pg/commitdiff/a6bd28beb0639d4cf424e961862a65c466ca65bf Modified Files -------------- contrib/btree_gin/btree_gin.c | 2 +- contrib/btree_gin/expected/char.out | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-)