Re: Collation version tracking for macOS - Mailing list pgsql-hackers

From Jeremy Schneider
Subject Re: Collation version tracking for macOS
Date
Msg-id AB8B7BCF-4E06-48FA-B8AB-629AD1CC96FC@ardentperf.com
Whole thread Raw
In response to Re: Collation version tracking for macOS  (Thomas Munro <thomas.munro@gmail.com>)
List pgsql-hackers
New emoji are getting added with some frequency, it’s a thing lately…

New Unicode chars use existing but unassigned code points. All code points are able to be encoded, claimed or
unclaimed.

Someone on old glibc or ICU can still store the new characters. As long as there’s an input field. You wouldn’t believe
somestuff I’ve seen people enter in the “name” field for web apps… 🙄 It’ll get some undefined or default sort behavior
forunrecognized or unassigned code points. 

When the libs are updated, those new chars begin to sort correctly, which is a change and breaks indexes (and
potentiallyother stuff). 

-Jeremy

Sent from my TI-83

> On Jun 8, 2022, at 16:34, Thomas Munro <thomas.munro@gmail.com> wrote:
> On Thu, Jun 9, 2022 at 5:42 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> I'm sure that Apple are indeed updating the UTF8 data behind
>> their proprietary i18n APIs, but the libc APIs are mostly getting benign
>> neglect.
>
> As for how exactly they might be doing that, I don't know, but a bit
> of light googling tells me that a private, headerless,
> please-don't-call-me-directly copy of ICU arrived back in macOS
> 10.3[1].  I don't see it on my 12.4 system, but I also know that 12.x
> started hiding system libraries completely (the linker is magic and
> pulls libraries from some parallel dimension, there is no
> /usr/lib/libSystem.B.dylib file on disk, and yet otool -L
> <your_favourite_executable> references it).
>
> It's a lovely client machine, but I don't know if anyone really runs
> meaningful database server stuff on macOS.  I think if I did I'd be
> very keen to use ICU for everything directly, rather than trying to
> unpick any of that and talk to Apple's API...  I think the
> how-to-support-multiple-ICUs subrant/subthread is a much more
> interesting topic.  I have no idea if the dlopen() concept I mentioned
> is the right way forward, but FWIW the experimental patch I posted
> seems to work just fine on a Mac, using multiple ICU libraries
> installed by MacPorts, which might be useful to developers
> contemplating that stuff.
>
> [1] https://lists.apple.com/archives/xcode-users/2005/Jun/msg00633.html



pgsql-hackers by date:

Previous
From: Mark Dilger
Date:
Subject: Re: Tightening behaviour for non-immutable behaviour in immutable functions
Next
From: Peter Smith
Date:
Subject: PGDOCS - "System Catalogs" table-of-contents page structure