Re: Patch for COPY command - Mailing list pgsql-cygwin

From Kevin Chase
Subject Re: Patch for COPY command
Date
Msg-id F22E2koAUaQMnihRnEX00016f2f@hotmail.com
Whole thread Raw
In response to Patch for COPY command  ("Kevin Chase" <kevincha99@hotmail.com>)
Responses Re: Patch for COPY command  (Jason Tishler <jason@tishler.net>)
List pgsql-cygwin
No feedback so far.  Should I just forward this to the patches list, or is
it customary for the maintainer to promote/package patches of interest to
the cygwin port?

--Kevin


>From: "Kevin Chase" <kevincha99@hotmail.com>
>To: pgsql-cygwin@postgresql.org
>Subject: [CYGWIN] Patch for COPY command
>Date: Sun, 27 Jan 2002 23:26:06 -0800
>
>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
>
>
>---------------------------(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




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


pgsql-cygwin by date:

Previous
From: Jason Tishler
Date:
Subject: Re: PostgreSQL 7.2 on Cygwin
Next
From: Dave Page
Date:
Subject: Re: Patch for COPY command