Re: Update Unicode data to Unicode 16.0.0
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Jeff Davis <pgsql@j-davis.com>,
Jeremy Schneider <schneider@ardentperf.com>,
Joe Conway <mail@joeconway.com>,
Laurenz Albe <laurenz.albe@cybertec.at>,
Nathan Bossart <nathandbossart@gmail.com>,
Peter Eisentraut <peter@eisentraut.org>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-03-18T19:50:20Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > On Tue, Mar 18, 2025 at 2:55 PM Jeff Davis <pgsql@j-davis.com> wrote: >> Continuing on with Unicode 15.1 and accepting the unassigned code point >> *cannot* prevent breakage. > Under your definition, this is true, but I think Jeremy would define > breakage differently. His primary concern, I expect, is *stability*. > Breakage means that the same supposedly-stable results return > different answers on the same data. Under that definition, continuing > under Unicode 15.1 does prevent breakage. That approach works only if you sit on Unicode 15.1 *forever*. The impracticality of that seems obvious to me. Sooner or later you will need to update, and then you are going to suffer pain. (In the running example of this thread, a unique index on LOWER(t) might not only be corrupt, but might fail reindex due to the constraint being violated under the newer rules.) The longer you wait, the more probable it is that you are going to have problems, and the more painful it'll be to clean things up. Now, if you both sit on Unicode 15.1 forever and disallow the introduction of unassigned-per-15.1 code points, you can escape that fate, but that approach brings its own kind of pain. The short answer is that "immutable" = "doesn't change till the heat death of the universe" is a definition that is not useful when dealing with this type of data. Other people determine the reality that you have to deal with. regards, tom lane
Commits
-
pg_upgrade: Fix memory leak in check_for_unicode_update().
- de48056ec7d2 18.0 landed
-
pg_upgrade check for Unicode-dependent relations.
- b81ffa13e356 18.0 landed
-
Update Unicode data to Unicode 16.0.0
- 82a46cca99fa 18.0 landed