Re: Is this a bug in pg_current_logfile() on Windows?
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Cc: Thomas Kellerer <shammat@gmx.net>, pgsql-hackers@lists.postgresql.org
Date: 2020-07-09T14:44:10Z
Lists: pgsql-hackers, pgsql-general
Andrew Dunstan <andrew.dunstan@2ndquadrant.com> writes: > On 7/8/20 10:40 PM, Tom Lane wrote: >> So I did that, and the first report is from bowerbird and it's still >> green. Unless I'm completely misinterpreting what's happening (always >> a possibility), that means we're still managing to remove "data" >> occurrences of \r. >> The most likely theory about that, I think, is that IPC::Run::run already >> translated any \r\n occurrences in the psql command's output to plain \n. >> Then, the \r generated by pg_current_logfile() would butt up against the >> line-ending \n, allowing the "fix" in sub psql to remove valid data. > It's possible. I do see some mangling of that kind in IPC::Run's > Win32IO.pm and Win32Pump.pm. The plot thickens: as of this morning, fairywren and jacana are showing the failure I expected, while drongo and bowerbird are not. (Our other Windows animals are not running the TAP tests, so they're no help here.) It's not hard to believe that the latter two are using a different libc implementation, but how would that affect the behavior of the TAP infrastructure? Are they also using different Perls? (By hypothesis, the pg_current_logfile bug exists across all Windows builds, so we have to explain why the TAP tests only reveal it on some of these animals.) regards, tom lane
Commits
-
Tighten up Windows CRLF conversion in our TAP test scripts.
- d0390509a182 9.5.23 landed
- ce9d053423fd 9.6.19 landed
- a3cfb10764bb 12.4 landed
- 89162b7364bf 11.9 landed
- 4c17c5a8529c 10.14 landed
- 17b87b3049fa 13.0 landed
- 91bdf499b37b 14.0 landed
-
Fix pg_current_logfile() to not emit a carriage return on Windows.
- 90b418f81645 11.9 landed
- 765ad260a18f 10.14 landed
- 601d419b2b5d 13.0 landed
- 2564e2d08546 12.4 landed
- 183926da3162 14.0 landed
-
Further tighten Windows CRLF conversion in our TAP test scripts.
- ffb4cee43bdc 14.0 landed
-
Add test coverage for pg_current_logfile() function.
- 1c4e88e2fe41 14.0 landed
-
Fix failures to ignore \r when reading Windows-style newlines.
- b654714f9bcf 13.0 cited
-
Fix TAP infrastructure to support Mingw better
- 33f3bbc6d37d 10.0 cited