Re: Are cached IMMUTABLE values persistent between sessions

From: Michael Fuhr <mike(at)fuhr(dot)org>
To: Donald Fraser <postgres(at)kiwi-fraser(dot)net>
Cc: "[ADMIN]" <pgsql-admin(at)postgresql(dot)org>
Subject: Re: Are cached IMMUTABLE values persistent between sessions
Date: 2005-06-23 15:00:23
Message-ID: 20050623150023.GA36745@winnie.fuhr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

On Thu, Jun 23, 2005 at 02:26:23PM +0100, Donald Fraser wrote:
>
> Is the returned value of a function defined as IMMUTABLE cached
> globally? In other words could postgresql potentially return a
> cached value obtained from one client session to a different client
> session?

You could experiment with this by adding a debugging RAISE statement
to an IMMUTABLE PL/pgSQL function to see when it's called. I suspect
there's no global caching; if there is then I haven't been able to
make it happen in tests. There doesn't even appear to be any caching
between disparate queries in the same session unless a prepared
plan is involved (e.g., a plan made with PREPARE or a cached plan
from a PL/pgSQL function) and the result of the IMMUTABLE function
could be determined at planning time.

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Kris Kiger 2005-06-23 15:43:38 Poolin' it
Previous Message Alvaro Herrera 2005-06-23 14:40:55 Re: Are cached IMMUTABLE values persistent between sessions