Re: Update Unicode data to Unicode 16.0.0 - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: Update Unicode data to Unicode 16.0.0
Date
Msg-id ded025be-72af-458a-af20-8ef5c2e4106c@eisentraut.org
Whole thread Raw
List pgsql-hackers
On 05.02.25 22:47, Jeff Davis wrote:
>    (b) we should make reasonable attempts to mitigate potential
> problems.
> 
> One idea for (b) resurfaced, which was to make a best-effort check at
> pg_upgrade time for affected indexes. The check would not be
> bulletproof, because we can't catch dependencies that are hidden inside
> SPI (e.g. a plpgsql function that calls LOWER()), but it would catch
> most potential problems.
> 
> Patch attached. A few notes:
> 
>    * The dependency entries don't exist because LOWER(), etc., are
> system objects (pinned); so it queries the indexprs, indpreds,
> partexprs, and conbin.
>    * The query is large and perhaps too clever, but it seems to work. I
> tried to add inline comments to the SQL, and pgindent had its own ideas
> about how to format them -- suggestions welcome.
>    * We haven't actually done the Unicode update yet, so it will notice
> that the PG17 and PG18 Unicode versions are the same, and return early.
> Either apply on top of the Unicode update patch, or comment out the
> early return for testing.
>    * It emits a warning rather than an error, so you need to specify
> pg_upgrade with "-r" to see the output file.
>    * I didn't adapt the query to run on pre-17 versions, even though it
> could find some potential problem cases (like an index on NORMALIZE()).
> I can add that if someone thinks it's worthwhile.

This all looks quite reasonable to me.  The code could obviously use a 
bit closer inspection, but the way you've structured it looked quite 
okay to me.





pgsql-hackers by date:

Previous
From: Jakub Wartak
Date:
Subject: Re: AIO v2.3
Next
From: Masahiko Sawada
Date:
Subject: Re: POC: enable logical decoding when wal_level = 'replica' without a server restart