Re: [18] Policy on IMMUTABLE functions and Unicode updates
Jeff Davis <pgsql@j-davis.com>
From: Jeff Davis <pgsql@j-davis.com>
To: Jeremy Schneider <schneider@ardentperf.com>, Laurenz Albe <laurenz.albe@cybertec.at>
Cc: Daniel Verite <daniel@manitou-mail.org>, Noah Misch <noah@leadboat.com>,
Peter Eisentraut <peter@eisentraut.org>, Robert Haas
<robertmhaas@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>,
pgsql-hackers@postgresql.org
Date: 2024-07-24T17:35:38Z
Lists: pgsql-hackers
On Tue, 2024-07-23 at 06:31 -0600, Jeremy Schneider wrote: > Other RDBMS are very careful not to corrupt databases, afaik > including function based indexes, by changing Unicode. I’m not aware > of any other RDBMS that updates Unicode versions in place; instead > they support multiple Unicode versions and do not drop the old ones. I'm curious about the details of what other RDBMSs do. Let's simplify and say that there's one database-wide collation at version 1, and the application doesn't use any COLLATE clause or other specifications for queries or DDL. Then, version 2 of that collation becomes available. When a query comes into the database, which version of the collation does it use, 1 or 2? If it uses the latest available (version 2), then all the old indexes are effectively useless. So I suppose there's some kind of migration process where you rebuild/fix objects to use the new collation, and when that's done then you change the default so that queries use version 2. How does all that work? Regards, Jeff Davis