From: Tom Lane <tgl@sss.pgh.pa.us>
To: 'alvherre@alvh.no-ip.org' <alvherre@alvh.no-ip.org>
Cc: iwata.aya@fujitsu.com <iwata.aya@fujitsu.com>
Cc: tsunakawa.takay@fujitsu.com <tsunakawa.takay@fujitsu.com>
Cc: 'Kyotaro Horiguchi' <horikyota.ntt@gmail.com>
Cc: k.jamison@fujitsu.com <k.jamison@fujitsu.com>
Cc: pgsql-hackers@lists.postgresql.org <pgsql-hackers@lists.postgresql.org>
Cc: Andrew Dunstan <andrew@dunslane.net>
Subject: Re: libpq debug log
Date: Wed, 31 Mar 2021 18:31:45 -0400
Message-ID: <3337422.1617229905@sss.pgh.pa.us> (raw)
In-Reply-To: <3336855.1617229186@sss.pgh.pa.us>
References: <20210331220920.GA23882@alvherre.pgsql>
<3336855.1617229186@sss.pgh.pa.us>
I wrote:
> What I suspect is some Windows dependency in the way that
> 001_libpq_pipeline.pl is setting up the trace output files.
While this may have little to do with drongo's issue,
I'm going to take exception to this bit that I see that
the patch added to PQtrace():
/* Make the trace stream line-buffered */
setvbuf(debug_port, NULL, _IOLBF, 0);
I do not like that on two grounds:
1. The trace file handle belongs to the calling application,
not to libpq. I do not think libpq has any business editorializing
on the file's settings.
2. POSIX says that setvbuf() must be done before any other
operation on the file. Since we have no way to know whether
any output has already been written to the trace file, the
above is a spec violation.
... and as for an actual explanation for drongo's issue,
I'm sort of wondering why libpq_pipeline.c is opening the
trace file in "w+" mode rather than vanilla "w" mode.
That seems unnecessary, and maybe it doesn't work so well
on Windows.
regards, tom lane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: tgl@sss.pgh.pa.us, alvherre@alvh.no-ip.org, iwata.aya@fujitsu.com, tsunakawa.takay@fujitsu.com, horikyota.ntt@gmail.com, k.jamison@fujitsu.com, pgsql-hackers@lists.postgresql.org, andrew@dunslane.net
Subject: Re: libpq debug log
In-Reply-To: <3337422.1617229905@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox