COLLATE: Hash partition vs UPDATE
Jesper Pedersen <jesper.pedersen@redhat.com>
From: Jesper Pedersen <jesper.pedersen@redhat.com>
To: PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Cc: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Date: 2019-04-08T16:33:55Z
Lists: pgsql-hackers
Hi,
The following case
-- test.sql --
CREATE TABLE test (a text PRIMARY KEY, b text) PARTITION BY HASH (a);
CREATE TABLE test_p0 PARTITION OF test FOR VALUES WITH (MODULUS 2,
REMAINDER 0);
CREATE TABLE test_p1 PARTITION OF test FOR VALUES WITH (MODULUS 2,
REMAINDER 1);
-- CREATE INDEX idx_test_b ON test USING HASH (b);
INSERT INTO test VALUES ('aaaa', 'aaaa');
-- Regression
UPDATE test SET b = 'bbbb' WHERE a = 'aaaa';
-- test.sql --
fails on master, which includes [1], with
psql:test.sql:9: ERROR: could not determine which collation to use for
string hashing
HINT: Use the COLLATE clause to set the collation explicitly.
It passes on 11.x.
I'll add it to the open items list.
[1]
https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=5e1963fb764e9cc092e0f7b58b28985c311431d9
Best regards,
Jesper
Commits
-
Fix failure with textual partition hash keys.
- 4b40e44f07c7 12.0 landed
-
Collations with nondeterministic comparison
- 5e1963fb764e 12.0 cited