Patch for COPY command

From: "Kevin Chase" <kevincha99(at)hotmail(dot)com>
To: pgsql-cygwin(at)postgresql(dot)org
Subject: Patch for COPY command
Date: 2002-01-28 07:26:06
Message-ID: F96dcpLyuIQpfI4iodI0000ba6a@hotmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-cygwin

I just started playing around with postgresql on cygwin, and hit my first
snag. The COPY command assumes its input/output to have UNIX style line
endings, which is an inconvenience since notepad is my favorite editor
(seriously). Here's an obvious patch to src\backend\commands\copy.c which
all platforms should be happy with (note: PG_BINARY_R,W should probably be
"rb","wb" on all platforms rather than having the current ifdef for cygwin).

I suspect there are other places in the code that should be using explicit
text-mode open calls, but I don't have time to do an exhaustive search.

--Kevin

bash-2.05a$ diff -u copy.c.orig copy.c
--- copy.c.orig Thu Aug 16 12:36:37 2001
+++ copy.c Sun Jan 27 22:43:56 2002
@@ -273,6 +273,7 @@
Relation rel;
const AclMode required_access = from ? ACL_WR : ACL_RD;
int result;
+ char *open_mode = NULL;

/*
* Open and lock the relation, using the appropriate lock type.
@@ -326,7 +327,8 @@
}
else
{
- fp = AllocateFile(filename, PG_BINARY_R);
+ open_mode = binary ? "rb" : "r";
+ fp = AllocateFile(filename, open_mode);
if (fp == NULL)
elog(ERROR, "COPY command, running in
backend with "
"effective uid %d, could not open
file '%s' for "
@@ -370,7 +372,8 @@
" COPY command.");

oumask = umask((mode_t) 022);
- fp = AllocateFile(filename, PG_BINARY_W);
+ open_mode = binary ? "wb" : "w";
+ fp = AllocateFile(filename, open_mode);
umask(oumask);

if (fp == NULL)

_________________________________________________________________
MSN Photos is the easiest way to share and print your photos:
http://photos.msn.com/support/worldwide.aspx

Browse pgsql-cygwin by date

  From Date Subject
Next Message Henshall, Stuart - WCP 2002-01-28 10:22:24 Re: Installing PostgreSQL on Windows XP.
Previous Message ewan galloway 2002-01-28 06:24:47 Installing PostgreSQL on Windows XP.