On 4/21/05, Enrico Weigelt <weigelt(at)metux(dot)de> wrote:
> > Even if your data never changes it *can* change so the function should
> > be at most stable not immutable.
> okay, the planner sees that the table could potentionally change.
> but - as the dba - I'd like to tell him, this table *never* changes
> in practise (or at most there will be an insert once a year)
> isnt there any way to enforce the function to be really immutable ?
Never say never. :)
And to answer your question -- your IMMUTABLE function may reference
other functions (even VOLATILE). So you may create a "caller" immutable
function which just calls your non-immutable function. But from
performance standpoint there is not much difference (probably your
STABLE function will be faster than STABLE inside IMMUTABLE function).
Ah, and please note that some time in future PostgreSQL may require
that IMMUTABLE function calls only IMMUTABLE functions.
In response to
pgsql-performance by date
|Next:||From: Jeff||Date: 2005-04-22 11:48:29|
|Subject: Re: two queries and dual cpu (perplexed)|
|Previous:||From: Dawid Kuroczko||Date: 2005-04-22 10:08:50|
|Subject: Re: immutable functions vs. join for lookups ?|