]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Ensure we allocate NAMEDATALEN bytes for names in Index Only Scans
authorDavid Rowley <drowley@postgresql.org>
Wed, 1 May 2024 01:22:41 +0000 (13:22 +1200)
committerDavid Rowley <drowley@postgresql.org>
Wed, 1 May 2024 01:22:41 +0000 (13:22 +1200)
commite6b0efc65e5885a0e46050df341c88f4a5ee76cd
treeecb4ddc230ec22abb1b07b852da87c5ef092a8e8
parent51189f98a9fc88a63ae6a9635da8adb427f9958c
Ensure we allocate NAMEDATALEN bytes for names in Index Only Scans

As an optimization, we store "name" columns as cstrings in btree
indexes.

Here we modify it so that Index Only Scans convert these cstrings back
to names with NAMEDATALEN bytes rather than storing the cstring in the
tuple slot, as was happening previously.

Bug: #17855
Reported-by: Alexander Lakhin
Reviewed-by: Alexander Lakhin, Tom Lane
Discussion: https://postgr.es/m/17855-5f523e0f9769a566@postgresql.org
Backpatch-through: 12, all supported versions
src/backend/executor/nodeIndexonlyscan.c
src/include/catalog/pg_opclass.dat
src/include/nodes/execnodes.h
src/test/regress/expected/index_including.out
src/test/regress/sql/index_including.sql