Am Freitag, 5. September 2003 17:05 schrieb Tom Lane: > Daniel Schreiber <[EMAIL PROTECTED]> writes: > > 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? > > Lifetime, I'd say, since among other things IMMUTABLE is considered to > mean that it's okay to build an index on the function's results. > > Of course, you can cheat: the system makes no attempt to verify whether > a function that you say is IMMUTABLE really is. There are cases where > it's useful to lie about the mutability property of a function. What > you are basically controlling here is whether the planner will deem it > safe to pre-evaluate a call of the function. Unless you actually do > build a functional index using a function, I doubt it could matter > whether the results change from one session to the next.
Okay, thanks, I think I got it now. > > I wrote a function that uses the CURRENT_USER session variable, and for > > my current usage it is very important, that it returns a different value > > for each database connection. > > CURRENT_USER is marked STABLE, not IMMUTABLE. Not sure what your point > is here. Okay, thanks for the help. I will rewrite the function as STABLE. Btw: is there documentation which parts in the environment are STABLE/IMMUTABLE? Thanks, Daniel Schreiber -- 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 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html