On Mon, Mar 7, 2022 at 7:50 PM shiy.f...@fujitsu.com <shiy.f...@fujitsu.com> wrote: > > On Fri, Mar 4, 2022 9:41 AM Ajin Cherian <itsa...@gmail.com> wrote: > > > > I have split the patch into two. I have kept the logic of skipping > > streaming changes in the second patch. > > I will work on the second patch once we can figure out a solution for > > the COMMIT PREPARED after restart problem. > > > > Thanks for updating the patch. > > A comment on v23-0001 patch. > > @@ -1429,6 +1520,19 @@ pgoutput_message(LogicalDecodingContext *ctx, > ReorderBufferTXN *txn, > if (in_streaming) > xid = txn->xid; > > + /* > + * Output BEGIN if we haven't yet. > + * Avoid for non-transactional messages. > + */ > + if (in_streaming || transactional) > + { > + PGOutputTxnData *txndata = (PGOutputTxnData *) > txn->output_plugin_private; > + > + /* Send BEGIN if we haven't yet */ > + if (txndata && !txndata->sent_begin_txn) > + pgoutput_send_begin(ctx, txn); > + } > + > OutputPluginPrepareWrite(ctx, true); > logicalrep_write_message(ctx->out, > xid, > > I think we don't need to send BEGIN if in_streaming is true, right? The first > patch doesn't skip streamed transaction, so should we modify > + if (in_streaming || transactional) > to > + if (!in_streaming && transactional) > ? >
Fixed. regards, Ajin Cherian Fujitsu Australia
v24-0002-Skip-empty-streamed-transactions-for-logical-rep.patch
Description: Binary data
v24-0001-Skip-empty-transactions-for-logical-replication.patch
Description: Binary data