Re: Crash report for some ICU-52 (debian8) COLLATE and work_mem values
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>,
Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, Daniel Verite <daniel@manitou-mail.org>, PostgreSQL mailing lists <pgsql-bugs@postgresql.org>
Date: 2017-08-09T17:53:06Z
Lists: pgsql-bugs, pgsql-hackers
On Wed, Aug 9, 2017 at 10:35 AM, Robert Haas <robertmhaas@gmail.com> wrote: > In other words, excluding, say, emoji collations from what gets > imported is just making a value judgement that those collations aren't > important and people shouldn't want to use them. Yes, it is. I think that's fine, though. Other database systems that use ICU for collations do this. Without exception, I think. > It's saying that we > know better than the ICU maintainers which collations ought to exist. As I've pointed out already, we populate pg_collation by asking ucol_getKeywordValuesForLocale() to get only "commonly used [variant] values with the given locale" within pg_import_system_collations(). That's a value judgement. This doesn't have documented stability guarantees. I'm not sure how many technically distinct collations we could generate by actually including every possible variant, but it might be a great deal more than we get already. Why would users have the same upgrade problem when they created these collations manually? The BCP 47 language tag format seems to be very much centered around "doing its best", even though that could be pretty far from the desired behavior [1]. This makes a certain amount of sense, considering that it's well documented, and can be considered a stable API. It really shouldn't break, but if it does then I suppose it's probably because the behavior doesn't have an analog in the ICU version in use. [1] postgr.es/m/CAH2-Wzm22vtxvD-e1oz90DE8Z_M61_8amHsDOZf1PWRKfRmj1g@mail.gmail.com -- Peter Geoghegan
Commits
-
Reject use of ucol_strcollUTF8() before ICU 53
- d6391b03b302 10.0 landed
-
Rethink behavior of pg_import_system_collations().
- 0b13b2a7712b 10.0 cited
-
Faster expression evaluation and targetlist projection.
- b8d7f053c5c2 10.0 cited