Re: STABLE functions

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Joachim Wieland <jwieland(at)kawo2(dot)rwth-aachen(dot)de>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: STABLE functions
Date: 2003-04-25 14:01:44
Message-ID: 15382.1051279304@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Joachim Wieland <jwieland(at)kawo2(dot)rwth-aachen(dot)de> writes:
> I'm using 7.3.2 and encounter the problem that a SELECT query that uses
> a function with a constant argument is quite slow. The function is
> declared STABLE. Here's an example:

> SELECT ... FROM table WHERE col = f('xyz');

>> From what I read in the docs

> ( http://www.postgresql.org/docs/view.php?version=7.3&idoc=0&file=sql-createfunction.html )

> I thought that this function is only executed once when declared as
> STABLE,

You are mistaken.

If you'd declared it IMMUTABLE, then it would get constant-folded, but
that may or may not be suitable for your purpose.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2003-04-25 14:10:23 Re: close() vs. closesocket()
Previous Message mlw 2003-04-25 12:29:29 Re: close() vs. closesocket()