|
|
|
@ -21,7 +21,7 @@ |
|
|
|
|
* one to prepare a data write, and a final one for actually writing since |
|
|
|
|
* their implementation depends on the type of consumer. Check |
|
|
|
|
* logicalfuncs.c for an example implementation of a fairly simple consumer |
|
|
|
|
* and a implementation of a WAL reading callback that's suitable for |
|
|
|
|
* and an implementation of a WAL reading callback that's suitable for |
|
|
|
|
* simple consumers. |
|
|
|
|
*------------------------------------------------------------------------- |
|
|
|
|
*/ |
|
|
|
@ -291,7 +291,7 @@ CreateInitDecodingContext(char *plugin, |
|
|
|
|
* decoding from, to avoid starting from a running xacts record referring |
|
|
|
|
* to xids whose rows have been vacuumed or pruned |
|
|
|
|
* already. GetOldestSafeDecodingTransactionId() returns such a value, but |
|
|
|
|
* without further interlock it's return value might immediately be out of |
|
|
|
|
* without further interlock its return value might immediately be out of |
|
|
|
|
* date. |
|
|
|
|
* |
|
|
|
|
* So we have to acquire the ProcArrayLock to prevent computation of new |
|
|
|
@ -772,7 +772,7 @@ LogicalIncreaseXminForSlot(XLogRecPtr current_lsn, TransactionId xmin) |
|
|
|
|
* Mark the minimal LSN (restart_lsn) we need to read to replay all |
|
|
|
|
* transactions that have not yet committed at current_lsn. |
|
|
|
|
* |
|
|
|
|
* Just like IncreaseRestartDecodingForSlot this nly takes effect when the |
|
|
|
|
* Just like IncreaseRestartDecodingForSlot this only takes effect when the |
|
|
|
|
* client has confirmed to have received current_lsn. |
|
|
|
|
*/ |
|
|
|
|
void |
|
|
|
|