Fix broken hash function hashbpcharextended().

Jeff Davis <jdavis@postgresql.org>

Commit: 7ac0f8d384a4633c6652ae1f6bba40d42d21ec18
Author: Jeff Davis <jdavis@postgresql.org>
Date: 2022-12-02T22:06:31Z
Releases: 16.0
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

Files

PathChange+/−
src/backend/utils/adt/varchar.c modified +1 −1

Discussion