> 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.