Re: [SQL] ERROR: DefineIndex: index function must be marked iscachable - Mailing list pgsql-general

From Stephan Szabo
Subject Re: [SQL] ERROR: DefineIndex: index function must be marked iscachable
Date
Msg-id 20030725121618.G37941-100000@megazone.bigpanda.com
Whole thread Raw
In response to ERROR: DefineIndex: index function must be marked iscachable  (Elielson Fontanezi <ElielsonF@prodam.sp.gov.br>)
Responses Re: [SQL] ERROR: DefineIndex: index function must be  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
List pgsql-general
On Fri, 25 Jul 2003, Elielson Fontanezi wrote:

>     What can I do in this case?
>     I could not found anything about iscachable.


>
> postgres$ cat in.sql
> create index bt_proposta_f01 on proposta
> using btree (func_cod_secretaria(nr_proponente));
>
> postgres$ psql -d escola -f in.sql
> psql:in.sql:2: ERROR:  DefineIndex: index function must be marked iscachable

Check the create function reference page, I believe you'd need to add WITH
(iscachable) to the end of the function creation.

iscachable means that the function always returnes the same result when
given the same arguments.  It's a prereq to using the function in an
index. If your function doesn't meet those requirements (for example if it
does a query on a table) making an index on that function is a bad idea.



pgsql-general by date:

Previous
From: Elielson Fontanezi
Date:
Subject: ERROR: DefineIndex: index function must be marked iscachable
Next
From: Stephan Szabo
Date:
Subject: Re: [SQL] ERROR: DefineIndex: index function must be