Enable hash partitioning of text arrays
Peter Eisentraut <peter@eisentraut.org>
Enable hash partitioning of text arrays hash_array_extended() needs to pass PG_GET_COLLATION() to the hash function of the element type. Otherwise, the hash function of a collation-aware data type such as text will error out, since the introduction of nondeterministic collation made hash functions require a collation, too. The consequence of this is that before this change, hash partitioning using an array over text in the partition key would not work. Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi> Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Reviewed-by: Michael Paquier <michael@paquier.xyz> Discussion: https://www.postgresql.org/message-id/flat/32c1fdae-95c6-5dc6-058a-a90330a3b621%40enterprisedb.com
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/adt/arrayfuncs.c | modified | +1 −1 |
| src/test/regress/expected/collate.icu.utf8.out | modified | +50 −0 |
| src/test/regress/sql/collate.icu.utf8.sql | modified | +26 −0 |
Discussion
- hash_array_extended() needs to pass down collation 5 messages · 2020-11-02 → 2020-11-04