Re: immutable functions vs. join for lookups ? - Mailing list pgsql-performance

From Dawid Kuroczko
Subject Re: immutable functions vs. join for lookups ?
Date
Msg-id 758d5e7f050422031579a04963@mail.gmail.com
Whole thread Raw
In response to Re: immutable functions vs. join for lookups ?  (Enrico Weigelt <weigelt@metux.de>)
List pgsql-performance
On 4/21/05, Enrico Weigelt <weigelt@metux.de> wrote:
> <snip>
> > 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.

   Regards,
      Dawid

pgsql-performance by date:

Previous
From: Dawid Kuroczko
Date:
Subject: Re: immutable functions vs. join for lookups ?
Next
From: Jeff
Date:
Subject: Re: two queries and dual cpu (perplexed)