Re: BUG #17288: PSQL bug with COPY command (Windows)

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Dmitry Koval <d.koval@postgrespro.ru>
Cc: Juan José Santamaría Flecha <juanjo.santamaria@gmail.com>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2021-11-25T03:23:41Z
Lists: pgsql-bugs
On Wed, Nov 24, 2021 at 10:44:09AM +0300, Dmitry Koval wrote:
> Unfortunately, you are.
> All my COPY-tests work well with files.
> I see a problem in the terminal only ...

While checking all the callers of fstat() in the core code, I have
discovered that this broke a second case when stdout is not
redirected: pg_recvlogical -f -.  In this case, the code would just
bump on EINVAL repeatedly instead of crashing, but equally broken it
was.  There is a TAP test for this case in src/bin/pg_basebackup/, but
it would not trigger the problem per the redirection already done
there.

Anyway, I have run more tests, tweaked slightly the comment, and
applied it down to 14.  Thanks to both of you!
--
Michael

Commits

  1. Fix compatibility thinko for fstat() on standard streams in win32stat.c

  2. Fix fstat() emulation on Windows with standard streams