Thread: tsearch: immutable functions?

tsearch: immutable functions?

From
Jochem van Dieten
Date:
I was wondering if there is any reason not to define the functions from
tsearch as immutable. What I am trying to achieve is that I don't have
to create a separate field to index as is explained in the manual, but
just create a functional gist index.

Instead of:
alter table titles add titleidx txtidx;
update titles set titleidx=txt2txtidx(title);
create index t_idx on titles using gist(titleidx);

just:
create index t_idx on titles using gist(txt2txtidx(title));

But creating a functional index requires an immutable function.

Jochem




Re: tsearch: immutable functions?

From
Teodor Sigaev
Date:
Read thread:

http://fts.postgresql.org/db/msg.html?mid=1359513

Jochem van Dieten wrote:
> I was wondering if there is any reason not to define the functions from
> tsearch as immutable. What I am trying to achieve is that I don't have
> to create a separate field to index as is explained in the manual, but
> just create a functional gist index.
>
> Instead of:
> alter table titles add titleidx txtidx;
> update titles set titleidx=txt2txtidx(title);
> create index t_idx on titles using gist(titleidx);
>
> just:
> create index t_idx on titles using gist(txt2txtidx(title));
>
> But creating a functional index requires an immutable function.
>
> Jochem
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
>      joining column's datatypes do not match

--
Teodor Sigaev                                  E-mail: teodor@sigaev.ru