On Fri, 5 Sep 2003, Daniel Schreiber wrote:
> Hi,
>
> A question on IMMUTABLE functions: do they only have to return the same value
> during a session/connection or during the databse server's lifetime? The
> documentation does not say anything about that.
The function should always return the same value result the same inputs.
I think you'll want to rewrite to take it as an argument (otherwise there
might be uses that get converted to a constant where you want it to vary).
This is the section in create function reference page about immutable. I'd
thought it was clear, but do you have a better suggested wording?
<para>
<literal>IMMUTABLE</literal> indicates that the function always
returns the same result when given the same argument values; that
is, it does not do database lookups or otherwise use information not
directly present in its parameter list. If this option is given,
any call of the function with all-constant arguments can be
immediately replaced with the function value.
</para>