]> granicus.if.org Git - postgresql/commitdiff
Add sanity check to ensure delimiter and quote are different in CSV mode
authorAndrew Dunstan <andrew@dunslane.net>
Sun, 30 Dec 2007 14:46:52 +0000 (14:46 +0000)
committerAndrew Dunstan <andrew@dunslane.net>
Sun, 30 Dec 2007 14:46:52 +0000 (14:46 +0000)
src/backend/commands/copy.c

index 52e7e6952732b522b8381f08b817623692596562..33d360c31d2459a162e4336cba710c62d6641755 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/commands/copy.c,v 1.293 2007/12/27 18:28:58 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/commands/copy.c,v 1.294 2007/12/30 14:46:52 adunstan Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -906,6 +906,11 @@ DoCopy(const CopyStmt *stmt, const char *queryString)
                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                                 errmsg("COPY quote must be a single ASCII character")));
 
+       if (cstate->csv_mode && cstate->delim[0] == cstate->quote[0])
+               ereport(ERROR,
+                               (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
+                                errmsg("COPY delimiter and quote must be different")));
+
        /* Check escape */
        if (!cstate->csv_mode && cstate->escape != NULL)
                ereport(ERROR,