mirror of https://github.com/postgres/postgres
Add more tests for COPY with incorrect option combinations
Based on the existing coverage report, some combinations were not checked at all, so add some tests to do so. Spotted while looking at the area. Discussion: https://postgr.es/m/Y2DNm9u7hzIxCXHn@paquier.xyz
This commit is contained in:
parent
e7c7605a76
commit
451d1164b9
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue