Re: Re : Win32 binaries test / pg_dump problem

Bruce Momjian <[email protected]>
Newsgroups gmane.comp.db.postgresql.devel.win32
Message-ID <[email protected]>
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" <[email protected]>
> >>>
> >>>      
> >>>
> >>>>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 [email protected] so that your
>       message can get through to the mailing list cleanly
> 

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

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.