Re: BUG #5781: unaccent() function should be marked IMMUTABLE - Mailing list pgsql-bugs

From Bruce Momjian
Subject Re: BUG #5781: unaccent() function should be marked IMMUTABLE
Date
Msg-id 201012230145.oBN1jfT16777@momjian.us
Whole thread Raw
In response to Re: BUG #5781: unaccent() function should be marked IMMUTABLE  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: BUG #5781: unaccent() function should be marked IMMUTABLE
List pgsql-bugs
Tom Lane wrote:
> "Grant Hutchins and Peter Jaros" <grant@pivotallabs.com> writes:
> > The unaccent(text) function supplied by contrib/unaccent is marked VOLATILE.
> > This prevents it from being used in indexes. We believe that the function
> > meets the requirements to be marked IMMUTABLE.
>
> No, it most certainly doesn't.  It depends on the behavior of a
> dictionary that it has no hard-wired connection to, so the specific
> behavior of the dictionary is uncertain.  Even if you're willing to
> assume that the dictionary being used is the one defined by this
> module, that dictionary depends on external configuration files
> which are easily changeable.
>
> Arguably it'd be reasonable to change the function's marking from
> volatile to stable, but that's not going to be enough to allow use in
> indexes.

So, should we change unaccent() from VOLATILE to STABLE?

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +

pgsql-bugs by date:

Previous
From: Maxim Boguk
Date:
Subject: Re: BUG #5798: Some weird error with pl/pgsql procedure
Next
From: "Marc Cousin"
Date:
Subject: BUG #5801: characters not encoded properly for column names