From: | Julien Rouhaud <rjuju123(at)gmail(dot)com> |
---|---|
To: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
Cc: | Zhihong Yu <zyu(at)yugabyte(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, Magnus Hagander <magnus(at)hagander(dot)net>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: REINDEX backend filtering |
Date: | 2021-02-26 07:52:32 |
Message-ID: | 20210226075232.cmhfuwsnqzge3q2k@nol |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Feb 25, 2021 at 07:36:02AM +1300, Thomas Munro wrote:
> On Thu, Feb 25, 2021 at 1:22 AM Julien Rouhaud <rjuju123(at)gmail(dot)com> wrote:
> > #define reindexHasFilter(x) ((x & REINDEXOPT_COLL_NOT_CURRENT) != 0)
>
> It's better to use "(x) & ..." in macros to avoid weird operator
> precedence problems in future code.
Ah indeed, thanks! I usually always protect the arguments wth parenthesis but
I somehow missed this one. I'll send a new version of the patch shortly with
the rest of the problems you mentioned.
> It seems like there are several different names for similar things in
> this patch: "outdated", "not current", "deprecated". Can we settle on
> one, maybe "outdated"?
Oops, I apparently missed a lot of places during the various rewrite of the
patch. +1 for oudated.
>
> > The code as-is written to be extensible with possibly other filters
> > (e.g. specific library or specific version). Feedback so far seems to
> > indicate that it may be overkill and only filtering indexes with
> > deprecated collation is enough. I'll simplify this code in a future
> > version, getting rid of reindexHasFilter, unless someone thinks more
> > filter is a good idea.
>
> Hmm, yeah, I think it should probably be very general. Suppose someone
> invents versioned dependencies for (say) functions or full text
> stemmers etc, then do we want to add more syntax here to rebuild
> indexes (assuming we don't use INVALID for such cases, IDK)? I don't
> think we'd want to have more syntax just to be able to say "hey,
> please fix my collation problems but not my stemmer problems". What
> about just REINDEX (OUTDATED)? It's hard to find a single word that
> means "depends on an object whose version has changed".
That quite make sense. I agree that it would make the solution simpler and
better.
Looking at the other use case for PostGIS mentioned by Darafei, it seems that
it would help to make concept of index dependency extensible for third party
code too (see
https://www.postgresql.org/message-id/20210226074531.dhkfneao2czzqk6n%40nol)
Would that make sense?
From | Date | Subject | |
---|---|---|---|
Next Message | Yixin Shi | 2021-02-26 07:56:17 | Interest in GSoC 2021 Projects |
Previous Message | Julien Rouhaud | 2021-02-26 07:45:31 | Re: REINDEX backend filtering |