It's volatile, but it will always return an integer.
On Fri, 28 Jul 2006, Daniel Caune wrote:
De : pgsql-performance-owner@xxxxxxxxxxxxxx [mailto:pgsql-performance-
owner@xxxxxxxxxxxxxx] De la part de Ben
Envoyé : vendredi, juillet 28, 2006 15:21
À : pgsql-performance@xxxxxxxxxxxxxx
Objet : [PERFORM] index usage
I have a table with 37000 rows, an integer column, and an index on that
column. I've got a function that returns an integer. When I do a select
where I restrict that column to being equal to a static number, explain
tells me the index will be used. When I do the same thing but use the
function instead of a static number, explain shows me a full scan on the
table.
I must be missing something, because my understanding is that the function
will be evaluated once for the statement and then collapsed into a static
number for the filtering. But the results of the explain seem to imply
that's not the case....?
Is your function IMMUTABLE, STABLE or VOLATILE?
--
Daniel