postgresql/src/backend/storage
Noah Misch 86a5b309c9 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
2021-01-30 00:00:42 -08:00
..
buffer Extend PageIsVerified() to handle more custom options 2020-11-02 10:41:23 +09:00
file Don't Insert() a VFD entry until it's fully built. 2020-11-16 20:32:35 -05:00
freespace Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
ipc Fix calculation of how much shared memory is required to store a TOC. 2021-01-15 12:45:25 +09:00
large_object Remove utils/acl.h from catalog/objectaddress.h 2020-03-10 10:27:00 +01:00
lmgr Fix CREATE INDEX CONCURRENTLY for simultaneous prepared transactions. 2021-01-30 00:00:42 -08:00
page Extend PageIsVerified() to handle more custom options 2020-11-02 10:41:23 +09:00
smgr Free disk space for dropped relations on commit. 2020-12-01 13:22:01 +13:00
sync Use correct and consistent unit abbreviation 2020-06-01 21:18:36 +02:00
Makefile Refactor the fsync queue for wider use. 2019-04-04 23:38:38 +13:00