Re: pgsql: Add support for managing physical replication slots to pg_receiv - Mailing list pgsql-committers

From Fujii Masao
Subject Re: pgsql: Add support for managing physical replication slots to pg_receiv
Date
Msg-id CAHGQGwEE-n5XriiiSO59_Mg+X9kkW9UN7ZjJPYRW_hXkjJ9X=Q@mail.gmail.com
Whole thread Raw
In response to Re: pgsql: Add support for managing physical replication slots to pg_receiv  (Andres Freund <andres@anarazel.de>)
Responses Re: pgsql: Add support for managing physical replication slots to pg_receiv  (Fujii Masao <masao.fujii@gmail.com>)
List pgsql-committers
On Tue, Oct 7, 2014 at 2:55 PM, Andres Freund <andres@anarazel.de> wrote:
> On 2014-10-07 14:51:59 +0900, Fujii Masao wrote:
>> >> *** a/src/bin/pg_basebackup/pg_receivexlog.c
>> >> --- b/src/bin/pg_basebackup/pg_receivexlog.c
>> >> ***************
>> >> *** 591,596 **** main(int argc, char **argv)
>> >> --- 591,598 ----
>> >>                       disconnect_and_exit(1);
>> >>       }
>> >>
>> >> +     PQfinish(conn);
>> >> +
>> >>       while (true)
>> >>       {
>> >>               StreamLog();
>> >
>> > But wouldn't it be better to simply pass in the connection to
>> > StreamLog()?
>>
>> ISTM that the idea would make the code in StreamLog() somewhat complicated,
>> i.e., StreamLog() needs to always check whether the conn is valid or not before
>> trying to create new connection. We cannot remove the code to create new
>> connection in StreamLog() because it needs to reconnect to the server when
>> the connection is terminated (of course in the case where --no-loop is
>> not specified).
>
> Not that much imo.
>
> if (conn == NULL)
>    conn = GetConnection();
>
> if (!conn)
>         /* Error message already written in GetConnection() */
>         return;
>
> ...
>
> PQfinish(conn);
> conn = NULL;

I'm OK with that.

Regards,

--
Fujii Masao


pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: Re: pgsql: Add support for managing physical replication slots to pg_receiv
Next
From: Michael Paquier
Date:
Subject: Re: pgsql: Stamp 9.4beta3.