Re: Avoid is possible a expensive function call (src/backend/utils/adt/varlena.c) - Mailing list pgsql-hackers

From Ranier Vilela
Subject Re: Avoid is possible a expensive function call (src/backend/utils/adt/varlena.c)
Date
Msg-id CAEudQAo-w9hGeqTT3KAvurSRPgPH3rrNtMxnoCbVqxPp=8mrgQ@mail.gmail.com
Whole thread Raw
In response to Re: Avoid is possible a expensive function call (src/backend/utils/adt/varlena.c)  (Matthias van de Meent <boekewurm+postgres@gmail.com>)
Responses Re: Avoid is possible a expensive function call (src/backend/utils/adt/varlena.c)
List pgsql-hackers
Em seg., 4 de mar. de 2024 às 14:54, Matthias van de Meent <boekewurm+postgres@gmail.com> escreveu:
On Mon, 4 Mar 2024 at 18:39, Ranier Vilela <ranier.vf@gmail.com> wrote:
>
> Hi,
>
> The function var_strcmp is a critical function.
> Inside the function, there is a shortcut condition,
> which allows for a quick exit.
>
> Unfortunately, the current code calls a very expensive function beforehand, which if the test was true, all the call time is wasted.
> So, IMO, it's better to postpone the function call until when it is actually necessary.

Thank you for your contribution.

I agree it would be better, but your current patch is incorrect,
because we need to check if the user has access to the locale (and
throw an error if not) before we return that the two strings are
equal.
I can't see any user validation at the function pg_newlocale_from_collation.

meson test pass all checks.

best regards,
Ranier Vilela

pgsql-hackers by date:

Previous
From: Matthias van de Meent
Date:
Subject: Re: Avoid is possible a expensive function call (src/backend/utils/adt/varlena.c)
Next
From: Robert Haas
Date:
Subject: Re: RFC: Logging plan of the running query