Fix broken hash function hashbpcharextended().
authorJeff Davis <jdavis@postgresql.org>
Thu, 1 Dec 2022 19:08:47 +0000 (11:08 -0800)
committerJeff Davis <jdavis@postgresql.org>
Fri, 2 Dec 2022 22:06:31 +0000 (14:06 -0800)
commit7ac0f8d384a4633c6652ae1f6bba40d42d21ec18
treeef6af09d8736e17eb4fdd32b6d3e0ca64ef8eacd
parent4c689a69eef639caa881539ee546ff1a5b11f98f
Fix broken hash function hashbpcharextended().

Ignore trailing spaces for non-deterministic collations when
hashing.

The previous behavior could lead to tuples falling into the wrong
partitions when hash partitioning is combined with the BPCHAR type and
a non-deterministic collation. Fortunately, it did not affect hash
indexes, because hash indexes do not use extended hash functions.

Decline to backpatch, per discussion.

Discussion: https://postgr.es/m/eb83d0ac7b299eb08f9b900dd08a5a0c5d90e517.camel@j-davis.com
Reviewed-by: Richard Guo, Tom Lane
src/backend/utils/adt/varchar.c