Re: Collation versioning
Douglas Doole <dougdoole@gmail.com>
From: Douglas Doole <dougdoole@gmail.com>
To: Andrew Gierth <andrew@tao11.riddles.org.uk>
Cc: Thomas Munro <thomas.munro@enterprisedb.com>, Peter Eisentraut <peter.eisentraut@2ndquadrant.com>,
Christoph Berg <myon@debian.org>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2018-09-16T19:00:52Z
Lists: pgsql-hackers
Oh good. I'd missed that detail. So that eases the RI constraint concern. (In my previous job, we wanted case/accent insensitive collations, so equal did not mean binary equal which added a whole extra level of fun.) On Sun, Sep 16, 2018 at 11:39 AM Andrew Gierth <andrew@tao11.riddles.org.uk> wrote: > >>>>> "Douglas" == Douglas Doole <dougdoole@gmail.com> writes: > > Douglas> And constraints problems are even easier than triggers. > Douglas> Consider a database with complex BI rules that are implemented > Douglas> through triggers that fire when values are/are not equal. If > Douglas> the equality of strings change, there could be bad data > Douglas> throughout the tables. > > Perhaps fortunately, collation changes cannot (in PG) affect the > equality or non-equality of strings (at least of text/varchar/char > types, citext is a different matter). For the builtin string types, PG > follows the rule that if the collation calls the values equal, they are > ordered secondarily in codepoint order; only byte-identical values can > actually be equal (we need this in order for hashing to work in the > absence of a strxfrm implementation that we can trust). > > (This is the same rule used for string comparisons in Perl.) > > -- > Andrew (irc:RhodiumToad) >
Commits
-
Doc: Document known problem with Windows collation versions.
- 1bf946bd43e5 14.0 landed
-
Add collation versions for FreeBSD.
- ca051d8b101d 14.0 landed
-
Tolerate version lookup failure for old style Windows locale names.
- 9f12a3b95dd5 14.0 landed
-
Track collation versions for indexes.
- 257836a75585 14.0 landed
-
Add pg_depend.refobjversion.
- cd6f479e79f3 14.0 landed
-
Remove pg_collation.collversion.
- 7d1297df0830 14.0 landed
-
Fix the MSVC build for versions 2015 and later.
- a169155453e3 13.0 cited
-
Add collation versions for Windows.
- 352f6f2df60f 13.0 cited
-
Implement type regcollation
- a2b1faa0f279 13.0 landed
-
Use libc version as a collation version on glibc systems.
- d5ac14f9ccdd 13.0 landed
- 9f90b1d08d79 13.0 landed
-
Make type "name" collation-aware.
- 586b98fdf1aa 12.0 cited