Skip site navigation (1) Skip section navigation (2)

Re: immutable functions vs. join for lookups ?

From: Dawid Kuroczko <qnex42(at)gmail(dot)com>
To: weigelt(at)metux(dot)de, pgsql-performance(at)postgresql(dot)org
Subject: Re: immutable functions vs. join for lookups ?
Date: 2005-04-22 10:15:24
Message-ID: 758d5e7f050422031579a04963@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-performance
On 4/21/05, Enrico Weigelt <weigelt(at)metux(dot)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

In response to

pgsql-performance by date

Next:From: JeffDate: 2005-04-22 11:48:29
Subject: Re: two queries and dual cpu (perplexed)
Previous:From: Dawid KuroczkoDate: 2005-04-22 10:08:50
Subject: Re: immutable functions vs. join for lookups ?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group