Re: POC: contrib/unaccent as IMMUTABLE - Mailing list pgsql-hackers

From Alexander Korotkov
Subject Re: POC: contrib/unaccent as IMMUTABLE
Date
Msg-id CAPpHfdvgW+xLoX9nm5yys4nb_bk9CxB44_gXJg62epB7PLLh6g@mail.gmail.com
Whole thread Raw
In response to Re: POC: contrib/unaccent as IMMUTABLE  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Sat, Oct 3, 2020 at 6:37 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Alexander Korotkov <aekorotkov@gmail.com> writes:
> > I personally don't have an exact understanding of how strict we are
> > about marking functions immutable.  For example,
> > to_tsvector(regconfig, text) is immutable.
>
> Yeah.  This is in fact wrong, because a TS configuration can *very*
> easily be changed by the user.  We held our noses and did it anyway
> to allow tsvector results to be stored in indexes, figuring that
> (a) we'd put it on the user's head to reindex when necessary, and
> (b) in most situations, small changes in a TS configuration don't
> make an old tsvector index unusable --- at worst, some searches
> will fail that should have succeeded.  (I'm not entirely sure that
> I believe (b), but that was the argument that was advanced.)
>
> I do not think we'd accept such a compromise if it were put forward
> today.  The project's standards for such things have tightened over
> time, as evidenced by the work that's going towards collation
> change detection.
>
> It's also worth noting that the consequences of an out-of-date
> index for unaccent seem likely to be worse than they are for
> tsvectors.  It's not hard to imagine somebody making a unique
> index on an unaccent result, and then setting themselves up for
> dump/reload failures by changing the unaccent rules.  Nobody
> builds unique indexes on tsvectors.

Tom, thank you for the clarification.  Now I get more understanding on
the project policy here.  I agree that we shouldn't mark unaccent() as
immutable in the current infrastructure.

------
Regards,
Alexander Korotkov



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Incorrect assumption in heap_prepare_freeze_tuple
Next
From: Tomas Vondra
Date:
Subject: Re: Optimize memory allocation code