Re: Re : Win32 binaries test / pg_dump problem - Mailing list pgsql-hackers-win32

From Bruce Momjian
Subject Re: Re : Win32 binaries test / pg_dump problem
Date
Msg-id 200406100242.i5A2ghq27892@candle.pha.pa.us
Whole thread Raw
In response to Re: Re : Win32 binaries test / pg_dump problem  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-hackers-win32
Would someone verify that having psql open the file in binary mode fixes
the problem?

---------------------------------------------------------------------------

Andrew Dunstan wrote:
> Bruce Momjian wrote:
>
> >Andrew Dunstan wrote:
> >
> >
> >>Cyril VELTER said:
> >>
> >>
> >>>From: "Andrew Dunstan" <andrew@dunslane.net>
> >>>
> >>>
> >>>
> >>>>Cyril VELTER wrote:
> >>>>
> >>>>
> >>>>
> >>>>>    if you psql -f test.sql basetest from the windows shell to a
> >>>>>    windows
> >>>>>
> >>>>>
> >>>or
> >>>
> >>>
> >>>>>linux database, you'll get a missing data error :
> >>>>>
> >>>>>psql:test.sql:9: ERROR:  missing data for column "b"
> >>>>>CONTEXT:  COPY test, line 1: "a"
> >>>>>
> >>>>>    if you psql -f test.sql basetest from a linux shell to a windows
> >>>>>    or
> >>>>>linux database, you won't get an error
> >>>>>
> >>>>>
> >>>>Sounds like we should have psql open the file in binary mode on
> >>>>Windows. Would that cause problems? I doubt it, but I wonder.
> >>>>
> >>>>
> >>>>
> >>>   you might be right, I just found some information on msdn that fseek
> >>>   for
> >>>example is influenced by ctrl-z when the file is opened in text mode.
> >>>
> >>>   I'm not sure that this is the cause of the second problem (backend
> >>>   crash
> >>>on copy to) though.
> >>>
> >>>   do you known where this modification needs to be done ?
> >>>
> >>>   cyril
> >>>
> >>>
> >>>
> >>probably in src/bin/psql/command.c::process_file()
> >>
> >>instead of mode "r" we should probably use the predefined constant
> >>PG_BINARY_R
> >>
> >>
> >
> >Uh, but it isn't a binary file, it is SQL commands.
> >
> >
> >
>
> If it can have an embedded ^Z it is not a legal Windows text file.
>
> Adding the binary flag will have exactly 2 effects:
> 1. It will inhibit the behaviour of the driver in translating CRLF to
> plain LF
> 2. It will not see ^Z as EOF.
>
> We don't care about the first - we handle CRLF just fine. But we do care
> about the second, and we don't want the library to interpret ^Z as EOF.
>
> cheers
>
> andrew
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to majordomo@postgresql.org so that your
>       message can get through to the mailing list cleanly
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-hackers-win32 by date:

Previous
From: "Gary Doades"
Date:
Subject: Re: pg_ctl start broken on windows
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] select like...not using index