diff options
| author | Robert Haas | 2018-07-16 21:33:22 +0000 |
|---|---|---|
| committer | Robert Haas | 2018-07-16 21:33:22 +0000 |
| commit | 32df1c9afa5a11e37b154fe50df7a4f016f289e4 (patch) | |
| tree | d40e88f017cc178ea2b0cec6047255c565ed6818 /src/include/replication | |
| parent | f7cb2842bf47715133b40e4a503f35dbe60d1b72 (diff) | |
Add subtransaction handling for table synchronization workers.
Since the old logic was completely unaware of subtransactions, a
change made in a subsequently-aborted subtransaction would still cause
workers to be stopped at toplevel transaction commit. Fix that by
managing a stack of worker lists rather than just one.
Amit Khandekar and Robert Haas
Discussion: http://postgr.es/m/CAJ3gD9eaG_mWqiOTA2LfAug-VRNn1hrhf50Xi1YroxL37QkZNg@mail.gmail.com
Diffstat (limited to 'src/include/replication')
| -rw-r--r-- | src/include/replication/logicallauncher.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/include/replication/logicallauncher.h b/src/include/replication/logicallauncher.h index ef02512412..9f840b7bc1 100644 --- a/src/include/replication/logicallauncher.h +++ b/src/include/replication/logicallauncher.h @@ -24,6 +24,7 @@ extern void ApplyLauncherShmemInit(void); extern void ApplyLauncherWakeupAtCommit(void); extern bool XactManipulatesLogicalReplicationWorkers(void); extern void AtEOXact_ApplyLauncher(bool isCommit); +extern void AtEOSubXact_ApplyLauncher(bool isCommit, int nestDepth); extern bool IsLogicalLauncher(void); |
