Yes, you’re right Daniel. I ended up settling on the following workaround:
ALTER FUNCTION isn_weak() VOLATILE;
ALTER FUNCTION public.isn_weak(boolean) VOLATILE;
On 14 Mar 2025 at 13:30 +0000, Daniel Gustafsson <daniel@yesql.se>, wrote:
On 14 Mar 2025, at 12:49, Viktor Holmberg <v@viktorh.net> wrote:
Hello. Apologies if this is not the right place to bug report extensions
For an extension bundled in postgres contrib it's absolutely the right place.
The isn_weak function in the isn extension reports the wrong value if you look at it inside a transaction:
I can manually fix this by changing it to STABLE:
ALTER FUNCTION isn_weak() STABLE;
Am I missing something or isn’t this quite weird? Would it at least be possible to change the documentation to explain this?
I wonder if this should really be marked VOLATILE instead as it has a side
effect.
--
Daniel Gustafsson