Re: Avoid is possible a expensive function call (src/backend/utils/adt/varlena.c)

Поиск
Список
Период
Сортировка
От Ranier Vilela
Тема Re: Avoid is possible a expensive function call (src/backend/utils/adt/varlena.c)
Дата
Msg-id CAEudQAo-w9hGeqTT3KAvurSRPgPH3rrNtMxnoCbVqxPp=8mrgQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Avoid is possible a expensive function call (src/backend/utils/adt/varlena.c)  (Matthias van de Meent <boekewurm+postgres@gmail.com>)
Ответы Re: Avoid is possible a expensive function call (src/backend/utils/adt/varlena.c)  (Michael Paquier <michael@paquier.xyz>)
Список 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 по дате отправления:

Предыдущее
От: Matthias van de Meent
Дата:
Сообщение: Re: Avoid is possible a expensive function call (src/backend/utils/adt/varlena.c)
Следующее
От: Robert Haas
Дата:
Сообщение: Re: RFC: Logging plan of the running query