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