On 6/21/23 12:14 PM, Jeff Davis wrote:
> On Wed, 2023-06-21 at 15:28 +0200, Daniel Verite wrote:
>> At a conference this week I was asked if ICU could be able to
>> sort like EBCDIC [2]. It turns out it has been already asked on
>> -general a few years ago [3] with no satisfactory answer at the time
>> ,
>> and that it can be implemented with rules in v16.
>
> Interesting, thank you!
+1 -- this is very helpful framing the problem, thank you!
>> This can be useful for people who migrate from mainframes to Postgres
>> and need their migration tests to produce the same sorted results as
>> the
>> original system.
>> Since rules can be defined at the database level with the icu_rules
>> option,
>> they don't even need to tweak their queries to add COLLATE clauses,
>> which surely is appreciable in that kind of project.
>
> I still had some technical concerns about the ICU rules feature,
> unfortunately, and one option is to only allow it for the collation
> objects and not the database level collation. How much would that hurt
> this use case?
>
>
>> I'm open to suggestions on whether this EBCDIC example is worth being
>> in the
>> doc in some form or putting this in the wiki would be good enough.
>
> I like the idea of having a real example. Ideally, we could add some
> explanation along the way about how the rule is constructed to match
> EBCDIC, which would reduce the shock of a long rule like that.
>
> I wonder why the rule syntax is such that it cannot be broken up? Would
> it be incorrect for us to allow some whitespace in there?
I'll give the unhelpful comment of "yes, I agree we should have a real
world example", especially one that seems relevant to helping more
people adopt PostgreSQL.