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;

Greetings,

Andres Freund

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


-- 
Sent via pgsql-committers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

Reply via email to