Re: CREATE INDEX CONCURRENTLY does not index prepared xact's data - Mailing list pgsql-bugs

From Andrey Borodin
Subject Re: CREATE INDEX CONCURRENTLY does not index prepared xact's data
Date
Msg-id 9BA43784-E4A7-4638-900C-FC9868C388FA@yandex-team.ru
Whole thread Raw
In response to Re: CREATE INDEX CONCURRENTLY does not index prepared xact's data  (Noah Misch <noah@leadboat.com>)
Responses Re: CREATE INDEX CONCURRENTLY does not index prepared xact's data
List pgsql-bugs

> 17 окт. 2021 г., в 20:12, Noah Misch <noah@leadboat.com> написал(а):
>
> I think the attached version is ready for commit.  Notable differences
> vs. v14:
Few notes:

1. Maybe an Assert(in_progress_list_maxlen) when in_progress_list_maxlen is used?
2.
-#define VirtualTransactionIdIsPreparedXact(vxid) \
+#define VirtualTransactionIdIsRecoveredPreparedXact(vxid) \

This is a very neat transition. Yes, the function argument will always be a xid only for recovered transactions. Maybe
adda comment here that this function is expected to be used only for results of GetLockConflicts()? 

> One thing not done here is to change the tests to use CREATE INDEX
> CONCURRENTLY instead of REINDEX CONCURRENTLY, so they're back-patchable to v11
> and earlier.  I may do that before pushing, or I may just omit the tests from
> older branches.

The tests refactors PostgresNode.pm and some tests. Back-patching this would be quite invasive.

But swapping every "REINDEX INDEX CONCURRENTLY idx;" with
            DROP INDEX CONCURRENTLY idx;
            CREATE INDEX CONCURRENTLY idx on tbl(i);
works.

> <inval-build-race-v1.patch><prepared-transactions-cic-series202107-v15nm.patch>
I've checked that this patches work for some time on my machines. I do not observe failures.

Thanks!

Best regards, Andrey Borodin.


pgsql-bugs by date:

Previous
From: "Efrain J. Berdecia"
Date:
Subject: Re: BUG #17229: Segmentation Fault after upgrading to version 13
Next
From: Tom Lane
Date:
Subject: Re: BUG #17229: Segmentation Fault after upgrading to version 13