From: | "Finnerty, Jim" <jfinnert(at)amazon(dot)com> |
---|---|
To: | Julien Rouhaud <rjuju123(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Daniel Verite <daniel(at)manitou-mail(dot)org> |
Subject: | Re: ICU for global collation |
Date: | 2022-01-06 13:55:55 |
Message-ID: | 4AA6682B-F397-4326-AE8F-C170A959D6E8@amazon.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I didn't notice anything version-specific about the patch. Would any modifications be needed to backport it to pg13 and pg14?
After this patch goes in, the big next thing would be to support nondeterministic collations for LIKE, ILIKE and pattern matching operators in general. Is anyone interested in working on that?
On 1/5/22, 10:36 PM, "Julien Rouhaud" <rjuju123(at)gmail(dot)com> wrote:
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.
On Tue, Jan 04, 2022 at 05:03:10PM +0100, Peter Eisentraut wrote:
> On 04.01.22 03:21, Julien Rouhaud wrote:
>
> > > - if (!lc_collate_is_c(collid) && collid != DEFAULT_COLLATION_OID)
> > > - mylocale = pg_newlocale_from_collation(collid);
> > > + if (!lc_collate_is_c(collid))
> > > + {
> > > + if (collid != DEFAULT_COLLATION_OID)
> > > + mylocale = pg_newlocale_from_collation(collid);
> > > + else if (default_locale.provider == COLLPROVIDER_ICU)
> > > + mylocale = &default_locale;
> > > + }
> >
> > There are really a lot of places with this new code. Maybe it could be some
> > new function/macro to wrap that for the normal case (e.g. not formatting.c)?
>
> Right, we could just put this into pg_newlocale_from_collation(), but the
> comment there says
>
> * In fact, they shouldn't call this function at all when they are dealing
> * with the default locale. That can save quite a bit in hotspots.
>
> I don't know how to assess that.
>
> We could pack this into a macro or inline function if we are concerned about
> this.
Yes that was my idea, just have a new function (inline function or a macro
then since pg_newlocale_from_collation() clearly warns about performance
concerns) that have the whole
is-not-c-collation-and-is-default-collation-or-icu-collation logic and calls
pg_newlocale_from_collation() only when needed.
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2022-01-06 14:05:12 | Re: pl/pgsql feature request: shorthand for argument and local variable references |
Previous Message | Robert Haas | 2022-01-06 13:52:01 | Re: Make relfile tombstone files conditional on WAL level |