Re: Preserve attstattarget on REINDEX CONCURRENTLY

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>
Cc: Ronan Dunklau <ronan(at)dunklau(dot)fr>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Preserve attstattarget on REINDEX CONCURRENTLY
Date: 2021-02-07 00:39:36
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Sat, Feb 06, 2021 at 10:39:53PM +0100, Tomas Vondra wrote:
> Copying this info in index_concurrently_swap seems a bit strange - we're
> copying other stuff there, but this is modifying something we've already
> copied before. I understand why we do it there to make this backpatchable,
> but maybe it'd be good to mention this in a comment (or at least the commit
> message). We could do this in the backbranches only and the "correct" way in
> master, but that does not seem worth it.


> One minor comment - the code says this:
> /* no need for a refresh if both match */
> if (attstattarget == att->attstattarget)
> continue;
> Isn't that just a different way to say "attstattarget is not default")?

For REINDEX CONCURRENTLY, yes. I was thinking here about the case
where this code is used for other purposes in the future, where
attstattarget may not be -1.

I'll see about applying this stuff after the next version is tagged

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Kasahara Tatsuhito 2021-02-07 02:02:21 Re: There doesn't seem to be any case where PQputCopyEnd() returns 0
Previous Message Tom Lane 2021-02-07 00:05:11 Re: Bug in query rewriter - hasModifyingCTE not getting set