Am Freitag, 5. September 2003 16:01 schrieb Stephan Szabo: > 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>
The explanation that Tom gave, was quite clear I think. What about: <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 at any time of the function with all-constant arguments can be immediately replaced with the function value. What you are basically controlling here is whether the planner will deem it safe to pre-evaluate a call of the function. </para> Thanks for the quick help, Daniel -- Daniel Schreiber | ICQ: 220903493 GPG encrypted Mail welcome! Key ID: 25A6B489 Chemnitzer Linux-Tag: http://www.tu-chemnitz.de/linux/tag/ ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly