pgsql: Remove btree_gist's useless logic for encoding-aware truncation.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Remove btree_gist's useless logic for encoding-aware truncation.
Date: 2026-07-03 19:32:02
Message-ID: E1wfjcJ-001Ctu-0R@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Remove btree_gist's useless logic for encoding-aware truncation.

gbt_var_node_cp_len() contained logic to ensure that its choice of
a common prefix length didn't truncate away part of a multibyte
character. However, that was really dead code, because we have not
allowed truncation of text-string data types since ef770cbb6, and
it seems unlikely that that behavior could ever get resurrected.
The code is still reachable via gbt_var_penalty, but for that
usage it hardly matters if we break in the middle of a multibyte
character: we're just calculating a small correction factor that
is arguably bunkum anyway in non-C locales.

Hence, delete said code. That actually removes all need for
gbtree_vinfo.eml, which allows const-ification of the gbtree_vinfo
structs in which we were changing it, which removes one headache
for future attempts to thread-ify the backend.

(Curiously, all this infrastructure was itself added by ef770cbb6.
Not sure why Teodor didn't see the contradiction.)

Author: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Reviewed-by: Ayush Tiwari <ayushtiwari(dot)slg01(at)gmail(dot)com>
Discussion: https://postgr.es/m/AH*AvQCYKhQGVvPWi1GiU4oY.8.1781609375063.Hmail.3020001251@tju.edu.cn

Branch
------
master

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

Modified Files
--------------
contrib/btree_gist/btree_bit.c | 1 -
contrib/btree_gist/btree_bytea.c | 1 -
contrib/btree_gist/btree_numeric.c | 1 -
contrib/btree_gist/btree_text.c | 21 ++------------------
contrib/btree_gist/btree_utils_var.c | 37 ++++++------------------------------
contrib/btree_gist/btree_utils_var.h | 2 --
6 files changed, 8 insertions(+), 55 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2026-07-03 21:51:18 pgsql: Make property graph object descriptions better translatable
Previous Message Tom Lane 2026-07-03 19:25:24 pgsql: Tighten up btree_gist's handling of truncated bounds.