Re: [HACKERS] COPY FROM STDIN behaviour on end-of-file - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [HACKERS] COPY FROM STDIN behaviour on end-of-file
Date
Msg-id 27246.1495038695@sss.pgh.pa.us
Whole thread Raw
In response to Re: [HACKERS] COPY FROM STDIN behaviour on end-of-file  (Thomas Munro <thomas.munro@enterprisedb.com>)
List pgsql-hackers
Thomas Munro <thomas.munro@enterprisedb.com> writes:
> On Wed, May 17, 2017 at 2:39 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Thanks for checking.  So that's two major platforms where it works "as
>> expected" already.

> Ah... the reason this is happening is that BSD-derived fread()
> implementations return immediately if the EOF flag is set[1], but
> others do not.

Hah, good detective work.  I tried this on the lone SysV-derived box
I have (ancient HPUX), and did not see the problem, so that seems to
confirm the comment you found that says this is a SysV-tradition vs
BSD-tradition thing.

>> If we're going
>> to go out of our way to make it work, should we mention it in psql-ref?

> I went looking for the place to put that and found that it already says:

>         For <literal>\copy ... from stdin</>, data rows are read from the same
>         source that issued the command, continuing until <literal>\.</literal>
>         is read or the stream reaches <acronym>EOF</>.

Yeah, it seems like that's clear enough already; I don't feel a need to
complicate it.

Another thing that would be nice is a regression test, but I don't see
any way to do that in our standard test environments.  I could imagine
building a test rig that fires up psql through a PTY, but making it
portable is a daunting prospect, and probably not worth the trouble.

> Here's a version incorporating your other suggestions and a comment to explain.

I editorialized on the comment a bit and pushed it.  Thanks for the
report and patch!
        regards, tom lane



pgsql-hackers by date:

Previous
From: Remi Colinet
Date:
Subject: Re: [HACKERS] [PATCH v2] Progress command to monitor progression oflong running SQL queries
Next
From: Robert Haas
Date:
Subject: Re: [HACKERS] [bug fix] PG10: libpq doesn't connect to alternativehosts when some errors occur