On Mon, Apr 26, 2021 at 4:29 PM Peter Smith <smithpb2...@gmail.com> wrote:
> The v4 patch applied cleanly. > > make check-world completed successfully. > > So this patch v4 looks LGTM, apart from the following 2 nitpick comments: > > ====== > > 1. Suggest to add a blank line after the (void)txn; ? > > @@ -345,10 +345,29 @@ pgoutput_startup(LogicalDecodingContext *ctx, > OutputPluginOptions *opt, > static void > pgoutput_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) > { > + PGOutputData *data = (PGOutputData *) ctx->output_plugin_private; > + > + (void)txn; /* keep compiler quiet */ > + /* > + * Don't send BEGIN message here. Instead, postpone it until the first > > Fixed. > ====== > > 2. Unnecessary statement blocks? > > AFAIK those { } are not the usual PG code-style when there is only one > statement, so suggest to remove them. > > Appies to 3 places: > > @@ -551,6 +576,12 @@ pgoutput_change(LogicalDecodingContext *ctx, > ReorderBufferTXN *txn, > Assert(false); > } > > + /* output BEGIN if we haven't yet */ > + if (!data->sent_begin_txn && !in_streaming) > + { > + pgoutput_begin(ctx, txn); > + } > > @@ -693,6 +724,12 @@ pgoutput_truncate(LogicalDecodingContext *ctx, > ReorderBufferTXN *txn, > > if (nrelids > 0) > { > + /* output BEGIN if we haven't yet */ > + if (!data->sent_begin_txn && !in_streaming) > + { > + pgoutput_begin(ctx, txn); > + } > > @@ -725,6 +762,12 @@ pgoutput_message(LogicalDecodingContext *ctx, > ReorderBufferTXN *txn, > if (in_streaming) > xid = txn->xid; > > + /* output BEGIN if we haven't yet, avoid for streaming and > non-transactional messages */ > + if (!data->sent_begin_txn && !in_streaming && transactional) > + { > + pgoutput_begin(ctx, txn); > + } > Fixed. regards, Ajin Cherian Fujitsu Australia
v5-0001-Skip-empty-transactions-for-logical-replication.patch
Description: Binary data