Re: Patch: Code comments: why some text-handling functions are leakproof

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Gurjeet Singh <gurjeet(at)singh(dot)im>
Cc: Postgres Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Patch: Code comments: why some text-handling functions are leakproof
Date: 2022-01-13 20:26:56
Message-ID: CA+TgmoZbR9jLXE7PjNn4vD+efkJnwzgQx6GuT1RHBpTw1GF4pw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jan 11, 2022 at 2:07 AM Gurjeet Singh <gurjeet(at)singh(dot)im> wrote:
> Please see attached a small patch to document why some text-processing functions are marked as leakproof, while some others are not.
>
> This is more or less a verbatim copy of Tom's comment in email thread at [1].
>
> I could not find an appropriate spot to place these comments, so I placed them on bttextcmp() function, The only other place that I could see we can place these comments is in the file src/backend/optimizer/README, because there is some consideration given to leakproof functions in optimizer docs. But these comments seem quite out of place in optimizer docs.

It doesn't seem particularly likely that someone who is thinking about
changing this in the future would notice the comment in the place
where you propose to put it, nor that they would read the optimizer
README.

Furthermore, I don't know that everyone agrees with Tom about this. I
do agree that it's more important to mark relational operators
leakproof than other things, and I also agree that conservatism is
warranted. But that does not mean that someone could not make a
compelling argument for marking other functions leakproof.

I think we will be better off leaving this alone.

--
Robert Haas
EDB: http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2022-01-13 20:27:40 Re: Adding CI to our tree
Previous Message Robert Haas 2022-01-13 20:19:20 Re: Removing more vacuumlazy.c special cases, relfrozenxid optimizations