Re: pgsql: Add support for managing physical replication slots to pg_receiv

From: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-committers <pgsql-committers(at)postgresql(dot)org>
Subject: Re: pgsql: Add support for managing physical replication slots to pg_receiv
Date: 2014-10-07 05:58:31
Message-ID: CAHGQGwEE-n5XriiiSO59_Mg+X9kkW9UN7ZjJPYRW_hXkjJ9X=Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On Tue, Oct 7, 2014 at 2:55 PM, Andres Freund <andres(at)anarazel(dot)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

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2014-10-07 11:27:16 Re: pgsql: Stamp 9.4beta3.
Previous Message Andres Freund 2014-10-07 05:55:22 Re: pgsql: Add support for managing physical replication slots to pg_receiv