]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Disallow creating an ICU collation if the DB encoding won't support it.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 3 Sep 2021 20:38:55 +0000 (16:38 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 3 Sep 2021 20:38:55 +0000 (16:38 -0400)
commit9ebe2852e5435d88d5e3d655b05887b66059cc4d
treeaa7791644e0015dcdb8f7c07f63622516af3fe1b
parent2836d57e44c67cc30453c83a33fbcf745f5d87ef
Disallow creating an ICU collation if the DB encoding won't support it.

Previously this was allowed, but the collation effectively vanished
into the ether because of the way lookup_collation() works: you could
not use the collation, nor even drop it.  Seems better to give an
error up front than to leave the user wondering why it doesn't work.

(Because this test is in DefineCollation not CreateCollation, it does
not prevent pg_import_system_collations from creating ICU collations,
regardless of the initially-chosen encoding.)

Per bug #17170 from Andrew Bille.  Back-patch to v10 where ICU support
was added.

Discussion: https://postgr.es/m/17170-95845cf3f0a9c36d@postgresql.org
src/backend/commands/collationcmds.c