Skip to content
Snippets Groups Projects
Commit e7873b74 authored by Heikki Linnakangas's avatar Heikki Linnakangas
Browse files

Open output file before sleeping in pg_recvlogical.

Let's complain about e.g an invalid path or permission problem sooner rather
than later. Before this patch, we would only try to open the output file
after receiving the first decoded message from the server.
parent 07a4a93a
No related branches found
No related tags found
No related merge requests found
...@@ -315,6 +315,23 @@ StreamLog(void) ...@@ -315,6 +315,23 @@ StreamLog(void)
} }
output_reopen = false; output_reopen = false;
/* open the output file, if not open yet */
if (outfd == -1)
{
if (strcmp(outfile, "-") == 0)
outfd = fileno(stdout);
else
outfd = open(outfile, O_CREAT | O_APPEND | O_WRONLY | PG_BINARY,
S_IRUSR | S_IWUSR);
if (outfd == -1)
{
fprintf(stderr,
_("%s: could not open log file \"%s\": %s\n"),
progname, outfile, strerror(errno));
goto error;
}
}
r = PQgetCopyData(conn, &copybuf, 1); r = PQgetCopyData(conn, &copybuf, 1);
if (r == 0) if (r == 0)
{ {
...@@ -479,23 +496,6 @@ StreamLog(void) ...@@ -479,23 +496,6 @@ StreamLog(void)
output_written_lsn = Max(temp, output_written_lsn); output_written_lsn = Max(temp, output_written_lsn);
} }
/* open the output file, if not open yet */
if (outfd == -1)
{
if (strcmp(outfile, "-") == 0)
outfd = fileno(stdout);
else
outfd = open(outfile, O_CREAT | O_APPEND | O_WRONLY | PG_BINARY,
S_IRUSR | S_IWUSR);
if (outfd == -1)
{
fprintf(stderr,
_("%s: could not open log file \"%s\": %s\n"),
progname, outfile, strerror(errno));
goto error;
}
}
bytes_left = r - hdr_len; bytes_left = r - hdr_len;
bytes_written = 0; bytes_written = 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment