Re: Copy function for logical replication slots - Mailing list pgsql-hackers

From Petr Jelinek
Subject Re: Copy function for logical replication slots
Date
Msg-id 5fb61eaf-f698-4c01-9dd7-ce4cb6d5a0f5@2ndquadrant.com
Whole thread Raw
In response to Re: Copy function for logical replication slots  (Masahiko Sawada <sawada.mshk@gmail.com>)
Responses Re: Copy function for logical replication slots  (Masahiko Sawada <sawada.mshk@gmail.com>)
List pgsql-hackers
Hi,

On 31/08/2018 07:03, Masahiko Sawada wrote:
> 
> Attached a new version patch incorporated the all comments I got.
> 

This looks pretty reasonable.

I am personally not big fan of the C wrappers for overloaded functions,
but that's what we need to do for opr_sanity to pass so I guess we'll
have to use them.

The more serious thing is:

> +    if (MyReplicationSlot)
> +        ReplicationSlotRelease();
> +
> +    /* Release the saved slot if exist while preventing double releasing */
> +    if (savedslot && savedslot != MyReplicationSlot)

This won't work as intended as the ReplicationSlotRelease() will set
MyReplicationSlot to NULL, you might need to set aside MyReplicationSlot
to yet another temp variable inside this function prior to releasing it.

-- 
  Petr Jelinek                  http://www.2ndQuadrant.com/
  PostgreSQL Development, 24x7 Support, Training & Services


pgsql-hackers by date:

Previous
From: Christoph Berg
Date:
Subject: Re: pgsql: Add WL_EXIT_ON_PM_DEATH pseudo-event.
Next
From: Alvaro Herrera
Date:
Subject: Re: [HACKERS] pgbench - allow to store select results into variables