Re: ISN extension - wrong volatility level for isn_weak() function - Mailing list pgsql-bugs

From Viktor Holmberg
Subject Re: ISN extension - wrong volatility level for isn_weak() function
Date
Msg-id 742add6c-02ac-42e4-97a3-f2ebd1520d64@Spark
Whole thread Raw
In response to Re: ISN extension - wrong volatility level for isn_weak() function  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: ISN extension - wrong volatility level for isn_weak() function
List pgsql-bugs
On 14 Mar 2025 at 16:18 +0000, Tom Lane <tgl@sss.pgh.pa.us>, wrote:
Viktor Holmberg <v@viktorh.net> writes:
However, cleaning things up to use GUC seems like it’d be bigger task, and also would only be an extra thing, as isn_weak function would need to stay in for backwards compatibility I assume.

Wouldn't be a big deal --- yes, accept_weak_input would need a bit of
modification, but it's not much. The main reason I suggested it was
that a GUC would be subject to RESET ALL and so it'd fix the pooler
hazard you pointed out.
You’re right it’d definitely be much nicer. I’ll give it a go. 

In terms of just fixing the immediate bug, I believe it’d just be to change isn.sql line 3423 and 2433:

No, we'd need to create an update script that uses ALTER FUNCTION.
Extension scripts are basically frozen once shipped.
Ah, thanks for the clarification. I’ve attached a patch that fixes the volatility. I thought it best to at least get some feedback on that before I try to dust off my C knowledge and try to fix the GUC stuff.

regards, tom lane
Attachment

pgsql-bugs by date:

Previous
From: Daniel Gustafsson
Date:
Subject: Re: BUG #18845: DEREF_OF_NULL.RET guc_malloc possibly returns NULL
Next
From: Tom Lane
Date:
Subject: Re: ISN extension - wrong volatility level for isn_weak() function