| From: | "Daniel Verite" <daniel(at)manitou-mail(dot)org> |
|---|---|
| To: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
| Subject: | Re: Supporting non-deterministic collations with tailoring rules. |
| Date: | 2026-03-15 18:52:24 |
| Message-ID: | b8482282-6ea6-45a7-b12e-e06c046cfe6e@manitou-mail.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
[resent for the list]
Peter Eisentraut wrote:
> > To me, the most plausible fix on the Postgres side would be to pass
> > UCOL_DEFAULT instead of UCOL_DEFAULT_STRENGTH as in the attached,
> > which lets the user specify the strength in the rule, as the OP did in [1].
>
> With this change, I don't see that the bug reported in ICU-22456 is
> fixed. See attached my test case.
>
> What change of behavior are you expecting from your patch? Should there
> be test cases?
Indeed it does not fix the behavior reported in ICU-22456
(=collation properties being "reset" when adding rules)
It fixes the fact that specificying the strength in the rule itself
will be taken into account instead of the strength being
forced to tertiary.
PFA a new patch with a specific test case added.
With regards to reports on pgsql-bugs, it fixes #18771
and the second part of #19425.
It does not fix #19045, which looks the same as ICU-22456
It also does not fix the first part of #19425 (which looks the
same as #19045). We cannot fix that in Postgres AFAIU.
However adding the strength or other collation properties in
the rules can be used as a workaround against the ICU-22456
issue, provided the attached change is made.
Best regards,
--
Daniel Vérité
https://postgresql.verite.pro/
| Attachment | Content-Type | Size |
|---|---|---|
| v2-rules-ucol-default-strength.diff | text/x-patch | 2.1 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Melanie Plageman | 2026-03-15 19:10:54 | Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access) |
| Previous Message | Lakshmi N | 2026-03-15 18:22:16 | Re: Add missing CHECK_FOR_INTERRUPTS calls in dblink module |