aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/test/regress/expected/copy2.out17
-rw-r--r--src/test/regress/sql/copy2.sql10
2 files changed, 27 insertions, 0 deletions
diff --git a/src/test/regress/expected/copy2.out b/src/test/regress/expected/copy2.out
index 5f3685e9efe..090ef6c7a8c 100644
--- a/src/test/regress/expected/copy2.out
+++ b/src/test/regress/expected/copy2.out
@@ -77,6 +77,23 @@ COPY x from stdin (encoding 'sql_ascii', encoding 'sql_ascii');
ERROR: conflicting or redundant options
LINE 1: COPY x from stdin (encoding 'sql_ascii', encoding 'sql_ascii...
^
+-- incorrect options
+COPY x to stdin (format BINARY, delimiter ',');
+ERROR: cannot specify DELIMITER in BINARY mode
+COPY x to stdin (format BINARY, null 'x');
+ERROR: cannot specify NULL in BINARY mode
+COPY x to stdin (format TEXT, force_quote(a));
+ERROR: COPY force quote available only in CSV mode
+COPY x from stdin (format CSV, force_quote(a));
+ERROR: COPY force quote only available using COPY TO
+COPY x to stdout (format TEXT, force_not_null(a));
+ERROR: COPY force not null available only in CSV mode
+COPY x to stdin (format CSV, force_not_null(a));
+ERROR: COPY force not null only available using COPY FROM
+COPY x to stdout (format TEXT, force_null(a));
+ERROR: COPY force null available only in CSV mode
+COPY x to stdin (format CSV, force_null(a));
+ERROR: COPY force null only available using COPY FROM
-- too many columns in column list: should fail
COPY x (a, b, c, d, e, d, c) from stdin;
ERROR: column "d" specified more than once
diff --git a/src/test/regress/sql/copy2.sql b/src/test/regress/sql/copy2.sql
index b3c16af48ee..b0de82c3aa9 100644
--- a/src/test/regress/sql/copy2.sql
+++ b/src/test/regress/sql/copy2.sql
@@ -67,6 +67,16 @@ COPY x from stdin (force_null (a), force_null (b));
COPY x from stdin (convert_selectively (a), convert_selectively (b));
COPY x from stdin (encoding 'sql_ascii', encoding 'sql_ascii');
+-- incorrect options
+COPY x to stdin (format BINARY, delimiter ',');
+COPY x to stdin (format BINARY, null 'x');
+COPY x to stdin (format TEXT, force_quote(a));
+COPY x from stdin (format CSV, force_quote(a));
+COPY x to stdout (format TEXT, force_not_null(a));
+COPY x to stdin (format CSV, force_not_null(a));
+COPY x to stdout (format TEXT, force_null(a));
+COPY x to stdin (format CSV, force_null(a));
+
-- too many columns in column list: should fail
COPY x (a, b, c, d, e, d, c) from stdin;