git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: f77717b) | patch
Fix CREATE INDEX CONCURRENTLY for simultaneous prepared transactions.
2021年1月30日 08:00:27 +0000 (00:00 -0800)
2021年1月30日 08:00:27 +0000 (00:00 -0800)
commit 8a54e12a38d1545d249f1402f66c8cde2837d97c
Fix CREATE INDEX CONCURRENTLY for simultaneous prepared transactions.

In a cluster having used CREATE INDEX CONCURRENTLY while having enabled
prepared transactions, queries that use the resulting index can silently
fail to find rows. Fix this for future CREATE INDEX CONCURRENTLY by
making it wait for prepared transactions like it waits for ordinary
transactions. This expands the VirtualTransactionId structure domain to
admit prepared transactions. It may be necessary to reindex to recover
from past occurrences. Back-patch to 9.5 (all supported versions).

Andrey Borodin, reviewed (in earlier versions) by Tom Lane and Michael
Paquier.

Discussion: https://postgr.es/m/2E712143-97F7-4890-B470-4A35142ABC82@yandex-team.ru
src/backend/storage/lmgr/lmgr.c diff | blob | blame | history
src/backend/storage/lmgr/lock.c diff | blob | blame | history
src/include/storage/lock.h diff | blob | blame | history
src/test/isolation/Makefile diff | blob | blame | history
src/test/isolation/README diff | blob | blame | history
src/test/isolation/expected/prepared-transactions-cic.out [new file with mode: 0644] blob
src/test/isolation/specs/prepared-transactions-cic.spec [new file with mode: 0644] blob
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /