Re: hashing bpchar for nondeterministic collations is broken - Mailing list pgsql-bugs

From Jeff Davis
Subject Re: hashing bpchar for nondeterministic collations is broken
Date
Msg-id b1c12dfa471f9fa98faee3b30bcae7911f397ddb.camel@j-davis.com
Whole thread Raw
In response to Re: hashing bpchar for nondeterministic collations is broken  (Richard Guo <guofenglinux@gmail.com>)
Responses Re: hashing bpchar for nondeterministic collations is broken
List pgsql-bugs
On Fri, 2022-12-02 at 10:30 +0800, Richard Guo wrote:
>
> I'm not familiar with the backporting policy, but I also think we
> need
> to as this fixes an obvious oversight.


The standard I use is that backpatching something should be safe enough
that users feel safer updating to a minor release (containing ~100 such
fixes) than *not* updating to a minor release.

The only demonstrable problem that I'm aware of[1] relies on an
undocumented type (undocumented before 16, that is) combined with a
non-deterministic collation and hash partitioning. The intersection of
those users is likely to be the empty set.

But assuming someone does use that combination of features in 15.1, and
we release 15.2 with my fix in it, then the consequences could be
severe: a pg_dump with default options on their bpchar-
nondeterministic-collation-hash-partitioned table in 15.1 would be
unrestorable in 15.2. They'd need to take a new pg_dump from 15.1 with
"--load-via-partition-root" and then restore it in 15.2. Obviously that
would be bad in any case, but it's more tolerable going between servers
of different major versions.

So, given that this fix is unlikely to help many people in 15 and
earlier, and that there's a chance that the fix is really painful for
someone; I'm electing not to backpatch it.


[1]
https://www.postgresql.org/message-id/7692740d4736e79032a5dac689cf2e304c03fa78.camel@j-davis.com



pgsql-bugs by date:

Previous
From: Jeff Davis
Date:
Subject: Re: hashing bpchar for nondeterministic collations is broken
Next
From: Tom Lane
Date:
Subject: Re: hashing bpchar for nondeterministic collations is broken