git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 5e9f4d2)
The attached applied patch throws an error if the delimiter appears in
Tue, 6 Apr 2004 13:21:33 +0000 (13:21 +0000)
Tue, 6 Apr 2004 13:21:33 +0000 (13:21 +0000)
the COPY NULL string:

test=> copy pg_language to '/tmp/x' with delimiter '|';
COPY
test=> copy pg_language to '/tmp/x' with delimiter '|' null '|x';
ERROR: COPY delimiter must not appear in the NULL specification
test=> copy pg_language from '/tmp/x' with delimiter '|' null '|x';
ERROR: COPY delimiter must not appear in the NULL specification

It also throws an error if it conflicts with the default NULL string:

test=> copy pg_language to '/tmp/x' with delimiter '\\';
ERROR: COPY delimiter must not appear in the NULL specification
test=> copy pg_language to '/tmp/x' with delimiter '\\' NULL 'x';
COPY


diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c
index 7af8200e0637a1591c18df221731c0c190d24780..045b40ec1de8a11494042d32d3981ca6a776e8a7 100644 (file)
--- a/src/backend/commands/copy.c
+++ b/src/backend/commands/copy.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/commands/copy.c,v 1.218 2004年02月10日 01:55:24 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/commands/copy.c,v 1.219 2004年04月06日 13:21:33 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -779,6 +779,14 @@ DoCopy(const CopyStmt *stmt)
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("COPY delimiter must be a single character")));
+ /*
+ * Don't allow the delimiter to appear in the null string.
+ */
+ if (strchr(null_print, delim[0]) != NULL)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("COPY delimiter must not appear in the NULL specification")));
+
/*
* Don't allow COPY w/ OIDs to or from a table without them
*/
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /