Re: Does CREATE FUNCTION... WITH (ISCACHABLE) work? - Mailing list pgsql-general

From Tom Lane
Subject Re: Does CREATE FUNCTION... WITH (ISCACHABLE) work?
Date
Msg-id 22079.964031408@sss.pgh.pa.us
Whole thread Raw
In response to Does CREATE FUNCTION... WITH (ISCACHABLE) work?  ("Joel Burton" <jburton@scw.org>)
Responses Re: Does CREATE FUNCTION... WITH (ISCACHABLE) work?  ("Joel Burton" <jburton@scw.org>)
List pgsql-general
"Joel Burton" <jburton@scw.org> writes:
> I have a function that always returns the same answer given the
> same input (no database lookups, etc.). The pg Users' Manual
> documents the attribute 'iscachable' as allowing the database to
> parse the results of the function and not keep looking it up.

iscachable does not mean that the system will cache the results of the
function across queries, it just means that the function needn't be
re-evaluated multiple times for the same arguments within a single query.
For example, given

    SELECT * from table1 where col = foo(42);

If foo() is marked cachable then it's evaluated once during query
planning; if not it's evaluated again for each row scanned in table1.

I don't think anyone has plans to implement a function result cache
across queries.  Most of the time it'd be a waste of space and cycles...

            regards, tom lane

pgsql-general by date:

Previous
From: "kurt miller"
Date:
Subject: Query problem - explicit casts
Next
From: "Swaminathan R. Iyer"
Date:
Subject: Retrieving images from PG using Java