Re: PG14: Avoid checking output-buffer-length for every encoded byte during pg_hex_encode

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>
Cc: Hans Buschmann <buschmann(at)nidsa(dot)net>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: PG14: Avoid checking output-buffer-length for every encoded byte during pg_hex_encode
Date: 2021-08-17 03:43:13
Message-ID: YRswUUro+PzK52Q3@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Aug 16, 2021 at 02:06:31PM -0300, Ranier Vilela wrote:
> uint64 and size_t in 64 bits are equivalents.
> uint64 and size_t in 32 bits can be weird, but anyway size_t at 32 bits can
> handle 1GB.

There is usually a reason why things are done as they are, so before
suggesting changing something I would advise to read the threads that
created those changes more carefully because they could be mentioned.
In this case, we are talking about aef8948, and this part of its
related thread:
https://www.postgresql.org/message-id/20210105034739.GG7432@momjian.us

> base64.c can be made in another patch.

This file is a set of code paths used by authentication and SCRAM, it
will never get as hot as the code paths that Hans has reported as
these are one-time operations. Please note as well cfc40d3 for the
reasons why things are handled this way. We absolutely have to use
safe routines here.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message 李杰 (慎追) 2021-08-17 03:56:33 A problem in ExecModifyTable
Previous Message Greg Nancarrow 2021-08-17 03:00:07 Re: Skipping logical replication transactions on subscriber side