mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
copy: update docs for FORCE_NULL and FORCE_NOT_NULL combination
Also update regression tests Patch by Michael Paquier
This commit is contained in:
@ -264,11 +264,6 @@ file_fdw_validator(PG_FUNCTION_ARGS)
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("conflicting or redundant options"),
|
||||
errhint("option \"force_not_null\" supplied more than once for a column")));
|
||||
if(force_null)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("conflicting or redundant options"),
|
||||
errhint("option \"force_not_null\" cannot be used together with \"force_null\"")));
|
||||
force_not_null = def;
|
||||
/* Don't care what the value is, as long as it's a legal boolean */
|
||||
(void) defGetBoolean(def);
|
||||
@ -281,11 +276,6 @@ file_fdw_validator(PG_FUNCTION_ARGS)
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("conflicting or redundant options"),
|
||||
errhint("option \"force_null\" supplied more than once for a column")));
|
||||
if(force_not_null)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("conflicting or redundant options"),
|
||||
errhint("option \"force_null\" cannot be used together with \"force_not_null\"")));
|
||||
force_null = def;
|
||||
(void) defGetBoolean(def);
|
||||
}
|
||||
|
@ -91,24 +91,22 @@ ALTER FOREIGN TABLE text_csv OPTIONS (SET format 'csv');
|
||||
\pset null _null_
|
||||
SELECT * FROM text_csv;
|
||||
|
||||
-- force_not_null and force_null can be used together on the same column
|
||||
ALTER FOREIGN TABLE text_csv ALTER COLUMN word1 OPTIONS (force_null 'true');
|
||||
ALTER FOREIGN TABLE text_csv ALTER COLUMN word3 OPTIONS (force_not_null 'true');
|
||||
|
||||
-- force_not_null is not allowed to be specified at any foreign object level:
|
||||
ALTER FOREIGN DATA WRAPPER file_fdw OPTIONS (ADD force_not_null '*'); -- ERROR
|
||||
ALTER SERVER file_server OPTIONS (ADD force_not_null '*'); -- ERROR
|
||||
CREATE USER MAPPING FOR public SERVER file_server OPTIONS (force_not_null '*'); -- ERROR
|
||||
CREATE FOREIGN TABLE tbl () SERVER file_server OPTIONS (force_not_null '*'); -- ERROR
|
||||
|
||||
-- force_not_null cannot be specified together with force_null
|
||||
ALTER FOREIGN TABLE text_csv ALTER COLUMN word1 OPTIONS (force_null 'true'); --ERROR
|
||||
|
||||
-- force_null is not allowed to be specified at any foreign object level:
|
||||
ALTER FOREIGN DATA WRAPPER file_fdw OPTIONS (ADD force_null '*'); -- ERROR
|
||||
ALTER SERVER file_server OPTIONS (ADD force_null '*'); -- ERROR
|
||||
CREATE USER MAPPING FOR public SERVER file_server OPTIONS (force_null '*'); -- ERROR
|
||||
CREATE FOREIGN TABLE tbl () SERVER file_server OPTIONS (force_null '*'); -- ERROR
|
||||
|
||||
-- force_null cannot be specified together with force_not_null
|
||||
ALTER FOREIGN TABLE text_csv ALTER COLUMN word3 OPTIONS (force_not_null 'true'); --ERROR
|
||||
|
||||
-- basic query tests
|
||||
SELECT * FROM agg_text WHERE b > 10.0 ORDER BY a;
|
||||
SELECT * FROM agg_csv ORDER BY a;
|
||||
|
@ -115,6 +115,9 @@ SELECT * FROM text_csv;
|
||||
ABC | abc | |
|
||||
(5 rows)
|
||||
|
||||
-- force_not_null and force_null can be used together on the same column
|
||||
ALTER FOREIGN TABLE text_csv ALTER COLUMN word1 OPTIONS (force_null 'true');
|
||||
ALTER FOREIGN TABLE text_csv ALTER COLUMN word3 OPTIONS (force_not_null 'true');
|
||||
-- force_not_null is not allowed to be specified at any foreign object level:
|
||||
ALTER FOREIGN DATA WRAPPER file_fdw OPTIONS (ADD force_not_null '*'); -- ERROR
|
||||
ERROR: invalid option "force_not_null"
|
||||
@ -128,10 +131,6 @@ HINT: There are no valid options in this context.
|
||||
CREATE FOREIGN TABLE tbl () SERVER file_server OPTIONS (force_not_null '*'); -- ERROR
|
||||
ERROR: invalid option "force_not_null"
|
||||
HINT: Valid options in this context are: filename, format, header, delimiter, quote, escape, null, encoding
|
||||
-- force_not_null cannot be specified together with force_null
|
||||
ALTER FOREIGN TABLE text_csv ALTER COLUMN word1 OPTIONS (force_null 'true'); --ERROR
|
||||
ERROR: conflicting or redundant options
|
||||
HINT: option "force_null" cannot be used together with "force_not_null"
|
||||
-- force_null is not allowed to be specified at any foreign object level:
|
||||
ALTER FOREIGN DATA WRAPPER file_fdw OPTIONS (ADD force_null '*'); -- ERROR
|
||||
ERROR: invalid option "force_null"
|
||||
@ -145,10 +144,6 @@ HINT: There are no valid options in this context.
|
||||
CREATE FOREIGN TABLE tbl () SERVER file_server OPTIONS (force_null '*'); -- ERROR
|
||||
ERROR: invalid option "force_null"
|
||||
HINT: Valid options in this context are: filename, format, header, delimiter, quote, escape, null, encoding
|
||||
-- force_null cannot be specified together with force_not_null
|
||||
ALTER FOREIGN TABLE text_csv ALTER COLUMN word3 OPTIONS (force_not_null 'true'); --ERROR
|
||||
ERROR: conflicting or redundant options
|
||||
HINT: option "force_not_null" cannot be used together with "force_null"
|
||||
-- basic query tests
|
||||
SELECT * FROM agg_text WHERE b > 10.0 ORDER BY a;
|
||||
a | b
|
||||
|
Reference in New Issue
Block a user