postgresql/src/include/storage
Simon Riggs 15378c1a15 Remove AELs from subxids correctly on standby
Issues relate only to subtransactions that hold AccessExclusiveLocks
when replayed on standby.

Prior to PG10, aborting subtransactions that held an
AccessExclusiveLock failed to release the lock until top level commit or
abort. 49bff5300d fixed that.

However, 49bff5300d also introduced a similar bug where subtransaction
commit would fail to release an AccessExclusiveLock, leaving the lock to
be removed sometimes early and sometimes late. This commit fixes
that bug also. Backpatch to PG10 needed.

Tested by observation. Note need for multi-node isolationtester to improve
test coverage for this and other HS cases.

Reported-by: Simon Riggs
Author: Simon Riggs
2018-06-16 14:03:29 +01:00
..
.gitignore When trace_lwlocks is used, identify individual lwlocks by name. 2015-09-11 14:01:39 -04:00
backendid.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
barrier.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
block.h Assorted minor doc/comment fixes. 2018-04-28 11:46:15 -04:00
buf.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
buf_internals.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
buffile.h Support parallel btree index builds. 2018-02-02 13:32:44 -05:00
bufmgr.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
bufpage.h Revert "Allow on-line enabling and disabling of data checksums" 2018-04-09 19:03:42 +02:00
checksum.h Revert "Allow on-line enabling and disabling of data checksums" 2018-04-09 19:03:42 +02:00
checksum_impl.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
condition_variable.h Allow ConditionVariable[PrepareTo]Sleep to auto-switch between CVs. 2018-01-09 11:39:10 -05:00
copydir.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
dsm.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
dsm_impl.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
fd.h Fix some sloppiness in the new BufFileSize() and BufFileAppend() functions. 2018-05-02 17:23:13 +03:00
freespace.h Remove UpdateFreeSpaceMap(), use FreeSpaceMapVacuumRange() instead. 2018-03-29 12:22:44 -04:00
fsm_internals.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
indexfsm.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
ipc.h Fix crash when canceling parallel query 2018-02-16 16:21:24 -05:00
item.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
itemid.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
itemptr.h Improve representation of 'moved partitions' indicator on deleted tuples. 2018-05-01 13:30:12 -07:00
large_object.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
latch.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
lmgr.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
lock.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
lockdefs.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
lwlock.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
off.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_sema.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_shmem.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pmsignal.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
predicate.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
predicate_internals.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
proc.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
procarray.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
proclist.h Improve error detection capability in proclists. 2018-01-08 18:07:04 -05:00
proclist_types.h Improve error detection capability in proclists. 2018-01-08 18:07:04 -05:00
procsignal.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
reinit.h Post-feature-freeze pgindent run. 2018-04-26 14:47:16 -04:00
relfilenode.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
s_lock.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
sharedfileset.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
shm_mq.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
shm_toc.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
shmem.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
sinval.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
sinvaladt.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
smgr.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
spin.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
standby.h Remove AELs from subxids correctly on standby 2018-06-16 14:03:29 +01:00
standbydefs.h Fix bugs in vacuum of shared rels, by keeping their relcache entries current. 2018-06-12 11:13:21 -07:00