Re: ISN extension - wrong volatility level for isn_weak() function

Viktor Holmberg <v@viktorh.net>

From: Viktor Holmberg <v@viktorh.net>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: daniel@yesql.se, pgsql-bugs@lists.postgresql.org
Date: 2025-03-15T15:32:39Z
Lists: pgsql-bugs

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. contrib/isn: Make weak mode a GUC setting, and fix related functions.

  2. Update contrib/seg for new scalarlesel/scalargesel selectivity functions.

Attachments

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