Re: Collation versioning
Stephen Frost <sfrost@snowman.net>
From: Stephen Frost <sfrost@snowman.net>
To: Douglas Doole <dougdoole@gmail.com>
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-18T22:09:31Z
Lists: pgsql-hackers
Greetings, * Douglas Doole (dougdoole@gmail.com) wrote: > > The CHECK constraint doesn't need to directly track that information- > > it should have a dependency on the column in the table and that's where > > the information would be recorded about the current collation version. > > Just to have fun throwing odd cases out, how would something like this be > recorded? > > Database default collation: en_US > > CREATE TABLE t (c1 TEXT, c2 TEXT, c3 TEXT, > CHECK (c1 COLLATE "fr_FR" BETWEEN c2 COLLATE "fr_FR" AND c3 COLLATE > "fr_FR")); > > You could even be really warped and apply multiple collations on a single > column in a single constraint. Once it gets to an expression and not just a simple check, I'd think we'd record it in the expression.. Thanks! Stephen
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