Re: Open a streamed block for transactional messages during decoding

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Open a streamed block for transactional messages during decoding
Date: 2023-10-26 04:42:12
Message-ID: CAA4eK1+szako0jzuNDYL7hUKoDu3AeHYdTO5pcQaqbtHeCxdXA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Oct 24, 2023 at 5:27 PM Zhijie Hou (Fujitsu)
<houzj(dot)fnst(at)fujitsu(dot)com> wrote:
>
> While reviewing the test_decoding code, I noticed that when skip_empty_xacts
> option is specified, it doesn't open the streaming block( e.g.
> pg_output_stream_start) before streaming the transactional MESSAGE even if it's
> the first change in a streaming block.
>
> It looks inconsistent with what we do when streaming DML
> changes(e.g. pg_decode_stream_change()).
>
> Here is a small patch to open the stream block in this case.
>

The change looks good to me though I haven't tested it yet. BTW, can
we change the comment: "Output stream start if we haven't yet, but
only for the transactional case." to "Output stream start if we
haven't yet for transactional messages"?

I think we should backpatch this fix. What do you think?

--
With Regards,
Amit Kapila.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeff Davis 2023-10-26 05:06:23 Re: Is this a problem in GenericXLogFinish()?
Previous Message Andrei Lepikhov 2023-10-26 04:07:35 Re: A performance issue with Memoize