diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2021-08-10 18:10:30 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2021-08-10 18:10:30 -0400 |
commit | a4957b5a72dc9e169b78604f67357bb3dc49d826 (patch) | |
tree | 9e8c342ce18786a3344fef91648a93647df23501 /src/backend/executor/nodeModifyTable.c | |
parent | 26f5391df63445692c88e4540dcbb558e567044c (diff) | |
download | postgresql-a4957b5a72dc9e169b78604f67357bb3dc49d826.tar.gz postgresql-a4957b5a72dc9e169b78604f67357bb3dc49d826.zip |
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
Diffstat (limited to 'src/backend/executor/nodeModifyTable.c')
0 files changed, 0 insertions, 0 deletions