Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: Re : Win32 binaries test / pg_dump problem


  • From: Andrew Dunstan <andrew(at)dunslane(dot)net>
  • To: pgsql-hackers-win32(at)postgresql(dot)org
  • Subject: Re: Re : Win32 binaries test / pg_dump problem
  • Date: Fri, 28 May 2004 14:52:04 -0400
  • Message-id: <40B78A54(dot)50309(at)dunslane(dot)net>

Bruce Momjian wrote:

Andrew Dunstan wrote:
Cyril VELTER said:
From: "Andrew Dunstan" <andrew(at)dunslane(dot)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



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group