Hi All, Every pg_decode routine except pg_decode_message that decodes a transactional change, has following block /* output BEGIN if we haven't yet */ if (data->skip_empty_xacts && !txndata->xact_wrote_changes) { pg_output_begin(ctx, data, txn, false); } txndata->xact_wrote_changes = true;
But pg_decode_message() doesn't call pg_output_begin(). If a WAL message is the first change in the transaction, it won't have a BEGIN before it. That looks like a bug. Why is pg_decode_message() exception? -- Best Wishes, Ashutosh Bapat