Re: Skipping logical replication transactions on subscriber side

From: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
To: "houzj(dot)fnst(at)fujitsu(dot)com" <houzj(dot)fnst(at)fujitsu(dot)com>
Cc: Alexey Lesovsky <lesovsky(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Subject: Re: Skipping logical replication transactions on subscriber side
Date: 2021-08-04 11:46:09
Message-ID: CAD21AoB6qPd4amrrNx9pCsAzpfpeXgri20VpS4ABF+rMmANK0w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Aug 4, 2021 at 1:02 PM houzj(dot)fnst(at)fujitsu(dot)com
<houzj(dot)fnst(at)fujitsu(dot)com> wrote:
>
> On Tuesday, August 3, 2021 2:49 PM Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
> >
> > I've attached new patches that incorporate all comments I got so far.
> > Please review them.
>
> Hi,
>
> I had a few comments for the 0003 patch.

Thanks for reviewing the patch!

>
> 1).
> - This clause alters parameters originally set by
> - <xref linkend="sql-createsubscription"/>. See there for more
> - information. The parameters that can be altered
> - are <literal>slot_name</literal>,
> - <literal>synchronous_commit</literal>,
> - <literal>binary</literal>, and
> - <literal>streaming</literal>.
> + This clause sets or resets a subscription option. The parameters that can be
> + set are the parameters originally set by <xref linkend="sql-createsubscription"/>:
> + <literal>slot_name</literal>, <literal>synchronous_commit</literal>,
> + <literal>binary</literal>, <literal>streaming</literal>.
> + </para>
> + <para>
> + The parameters that can be reset are: <literal>streaming</literal>,
> + <literal>binary</literal>, <literal>synchronous_commit</literal>.
>
> Maybe the doc looks better like the following ?
>
> + This clause alters parameters originally set by
> + <xref linkend="sql-createsubscription"/>. See there for more
> + information. The parameters that can be set
> + are <literal>slot_name</literal>,
> + <literal>synchronous_commit</literal>,
> + <literal>binary</literal>, and
> + <literal>streaming</literal>.
> + </para>
> + <para>
> + The parameters that can be reset are: <literal>streaming</literal>,
> + <literal>binary</literal>, <literal>synchronous_commit</literal>.

Agreed.

>
> 2).
> - opts->create_slot = defGetBoolean(defel);
> + if (!is_reset)
> + opts->create_slot = defGetBoolean(defel);
> }
>
> Since we only support RESET streaming/binary/synchronous_commit, it
> might be unnecessary to add the check 'if (!is_reset)' for other
> option.

Good point.

>
> 3).
> typedef struct AlterSubscriptionStmt
> {
> NodeTag type;
> AlterSubscriptionType kind; /* ALTER_SUBSCRIPTION_OPTIONS, etc */
>
> Since the patch change the remove the enum value
> 'ALTER_SUBSCRIPTION_OPTIONS', it'd better to change the comment here
> as well.

Agreed.

I'll incorporate those comments in the next version patch.

Regards,

--
Masahiko Sawada
EDB: https://www.enterprisedb.com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Greg Nancarrow 2021-08-04 11:54:20 Re: Parallel scan with SubTransGetTopmostTransaction assert coredump
Previous Message Masahiko Sawada 2021-08-04 11:43:33 Re: Skipping logical replication transactions on subscriber side