Thread: Question on STABLE functions limitations

Question on STABLE functions limitations

From
"Marc Mamin"
Date:

 

Hello,

I wonder if there are some special cases where STABLE functions should be avoided.

I think for example of functions using set_config or querying the advisory locks.

 

Thanks in advance,

 

Marc Mamin

Re: Question on STABLE functions limitations

From
Tom Lane
Date:
"Marc Mamin" <M.Mamin@intershop.de> writes:
> I wonder if there are some special cases where STABLE functions should
> be avoided.

> I think for example of functions using set_config or querying the
> advisory locks.

set_config has side-effects and hence should not be done in non-volatile
functions.

            regards, tom lane

Re: Question on STABLE functions limitations

From
Merlin Moncure
Date:
On Mon, Oct 18, 2010 at 4:47 AM, Marc Mamin <M.Mamin@intershop.de> wrote:
> I wonder if there are some special cases where STABLE functions should be
> avoided.
>
> I think for example of functions using set_config or querying the advisory
> locks.

Advisory locks are highly volatile and everything that touches them
should be considered volatile.  They are completely outside the mvcc
snapshot system and aren't bound by its rules (sequences also fall
under this category).

merlin