Fix scanner name length trimming.
authorBruce Momjian
Sat, 29 Aug 1998 05:27:17 +0000 (05:27 +0000)
committerBruce Momjian
Sat, 29 Aug 1998 05:27:17 +0000 (05:27 +0000)
src/backend/commands/copy.c
src/backend/parser/scan.l

index c17144b581c35dde880697cadc6642692a5bb605..070be8861c25537df8dda31cf97a630d5e125125 100644 (file)
@@ -6,7 +6,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.55 1998/08/29 04:09:23 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.56 1998/08/29 05:27:15 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -146,6 +146,7 @@ DoCopy(char *relname, bool binary, bool oids, bool from, bool pipe,
            }
            else
            {
+               /* if we elog() out, the file stays open */
                fp = AllocateFile(filename, "r");
                if (fp == NULL)
                    elog(ERROR, "COPY command, running in backend with "
@@ -173,6 +174,7 @@ DoCopy(char *relname, bool binary, bool oids, bool from, bool pipe,
                mode_t      oumask;     /* Pre-existing umask value */
 
                oumask = umask((mode_t) 0);
+               /* if we elog() out, the file stays open */
                fp = AllocateFile(filename, "w");
                umask(oumask);
                if (fp == NULL)
index ac4c78a3d0a7055b4d3cd6490ec2403d0e1985fa..26ff2ec84478f35841c7cf8bb57554a61dbdc9f1 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.41 1998/08/29 02:36:18 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.42 1998/08/29 05:27:17 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -323,8 +323,8 @@ other           .
                        if (isascii((unsigned char)yytext[i]) &&
                            isupper(yytext[i]))
                            yytext[i] = tolower(yytext[i]);
-                   if (i > NAMEDATALEN)
-                       yytext[NAMEDATALEN] = '\0';
+                   if (i >= NAMEDATALEN)
+                       yytext[NAMEDATALEN-1] = '\0';
 
                    keyword = ScanKeywordLookup((char*)yytext);
                    if (keyword != NULL) {
@@ -402,8 +402,8 @@ other           .
                        if (isascii((unsigned char)yytext[i]) &&
                            isupper(yytext[i]))
                            yytext[i] = tolower(yytext[i]);
-                   if (i > NAMEDATALEN)
-                       yytext[NAMEDATALEN] = '\0';
+                   if (i >= NAMEDATALEN)
+                       yytext[NAMEDATALEN-1] = '\0';
 
                    keyword = ScanKeywordLookup((char*)yytext);
                    if (keyword != NULL) {