postgresql/src/include/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
..
.gitignore When trace_lwlocks is used, identify individual lwlocks by name. 2015-09-11 14:01:39 -04:00
backendid.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
barrier.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
block.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
buf.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
buf_internals.h C comment: correct use of 64-"byte" cache line size 2020-09-04 13:27:52 -04:00
buffile.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
bufmgr.h Support PrefetchBuffer() in recovery. 2020-04-08 14:56:57 +12:00
bufpage.h Extend PageIsVerified() to handle more custom options 2020-11-02 10:41:23 +09:00
checksum.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
checksum_impl.h Fix page-level checksum calculation in checksum_impl.h 2020-03-06 08:15:29 +09:00
condition_variable.h Spelling adjustments 2020-06-07 15:06:51 +02:00
copydir.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
dsm.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
dsm_impl.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
fd.h Remove HAVE_WORKING_LINK 2020-03-11 11:23:04 +01:00
freespace.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
fsm_internals.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
indexfsm.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
ipc.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
item.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
itemid.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
itemptr.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
large_object.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
latch.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
lmgr.h Prevent concurrent SimpleLruTruncate() for any given SLRU. 2020-08-15 10:15:56 -07:00
lock.h Fix CREATE INDEX CONCURRENTLY for simultaneous prepared transactions. 2021-01-30 00:00:42 -08:00
lockdefs.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
lwlock.h Drop the redundant "Lock" suffix from LWLock wait event names. 2020-05-15 19:55:56 -04:00
md.h Support PrefetchBuffer() in recovery. 2020-04-08 14:56:57 +12:00
off.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
pg_sema.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
pg_shmem.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
pmsignal.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
predicate.h Rename SLRU structures and associated LWLocks. 2020-05-15 14:28:25 -04:00
predicate_internals.h Rename assorted LWLock tranches. 2020-05-15 18:11:07 -04:00
proc.h Rename assorted LWLock tranches. 2020-05-15 18:11:07 -04:00
procarray.h Detect the deadlocks between backends and the startup process. 2021-01-06 12:30:37 +09:00
proclist.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
proclist_types.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
procsignal.h Avoid potential spinlock in a signal handler as part of global barriers. 2020-06-17 12:47:13 -07:00
reinit.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
relfilenode.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
s_lock.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
sharedfileset.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
shm_mq.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
shm_toc.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
shmem.h Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
sinval.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
sinvaladt.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
smgr.h Remove smgrdounlink() in smgr.c from the code tree 2020-05-10 10:58:54 +09:00
spin.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
standby.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
standbydefs.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
sync.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00