Re: Re : Win32 binaries test / pg_dump problem
От | Bruce Momjian |
---|---|
Тема | Re: Re : Win32 binaries test / pg_dump problem |
Дата | |
Msg-id | 200406100242.i5A2ghq27892@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: Re : Win32 binaries test / pg_dump problem (Andrew Dunstan <andrew@dunslane.net>) |
Список | 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 по дате отправления: