test_decoding: Add comments about delaying BEGIN/PREPARE

It is not immediately obvious why we return early in these functions;
these comments should make it so.

Reviewed-by: Tomas Vondra <tomas.vondra@enterprisedb.com>
Discussion: https://postgr.es/m/202202141336.xv35beswc6ec@alvherre.pgsql
This commit is contained in:
Alvaro Herrera 2022-03-23 16:17:00 +01:00
parent 68d8f9bfb2
commit dfdb2f3bf5
No known key found for this signature in database
GPG Key ID: 1C20ACB9D5C564AE
1 changed files with 12 additions and 0 deletions

View File

@ -322,6 +322,10 @@ pg_decode_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn)
txndata->xact_wrote_changes = false;
txn->output_plugin_private = txndata;
/*
* If asked to skip empty transactions, we'll emit BEGIN at the point where
* the first operation is received for this transaction.
*/
if (data->skip_empty_xacts)
return;
@ -378,6 +382,10 @@ pg_decode_begin_prepare_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn)
txndata->xact_wrote_changes = false;
txn->output_plugin_private = txndata;
/*
* If asked to skip empty transactions, we'll emit BEGIN at the point where
* the first operation is received for this transaction.
*/
if (data->skip_empty_xacts)
return;
@ -392,6 +400,10 @@ pg_decode_prepare_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn,
TestDecodingData *data = ctx->output_plugin_private;
TestDecodingTxnData *txndata = txn->output_plugin_private;
/*
* If asked to skip empty transactions, we'll emit PREPARE at the point
* where the first operation is received for this transaction.
*/
if (data->skip_empty_xacts && !txndata->xact_wrote_changes)
return;