diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2013-10-28 10:28:35 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2013-10-28 10:30:10 -0400 |
commit | 01c1b1aa25149674f9347f9d915533a53c33eff6 (patch) | |
tree | 037b2d71e30f711a06d5e708fc05b757b38ed2f0 | |
parent | bb604d03abf1402764d384acb1ae36d379965126 (diff) | |
download | postgresql-01c1b1aa25149674f9347f9d915533a53c33eff6.tar.gz postgresql-01c1b1aa25149674f9347f9d915533a53c33eff6.zip |
Improve documentation about usage of FDW validator functions.
SGML documentation, as well as code comments, failed to note that an FDW's
validator will be applied to foreign-table options for foreign tables using
the FDW.
Etsuro Fujita
-rw-r--r-- | doc/src/sgml/ref/alter_foreign_data_wrapper.sgml | 12 | ||||
-rw-r--r-- | doc/src/sgml/ref/create_foreign_data_wrapper.sgml | 8 | ||||
-rw-r--r-- | src/backend/commands/foreigncmds.c | 12 |
3 files changed, 19 insertions, 13 deletions
diff --git a/doc/src/sgml/ref/alter_foreign_data_wrapper.sgml b/doc/src/sgml/ref/alter_foreign_data_wrapper.sgml index 7376804403d..91ac1b2f0c9 100644 --- a/doc/src/sgml/ref/alter_foreign_data_wrapper.sgml +++ b/doc/src/sgml/ref/alter_foreign_data_wrapper.sgml @@ -91,11 +91,13 @@ ALTER FOREIGN DATA WRAPPER <replaceable class="parameter">name</replaceable> REN </para> <para> - Note that it is possible that after changing the validator the - options to the foreign-data wrapper, servers, and user mappings - have become invalid. It is up to the user to make sure that - these options are correct before using the foreign-data - wrapper. + Note that it is possible that pre-existing options of the foreign-data + wrapper, or of dependent servers, user mappings, or foreign tables, are + invalid according to the new validator. <productname>PostgreSQL</> does + not check for this. It is up to the user to make sure that these + options are correct before using the modified foreign-data wrapper. + However, any options specified in this <command>ALTER FOREIGN DATA + WRAPPER</> command will be checked using the new validator. </para> </listitem> </varlistentry> diff --git a/doc/src/sgml/ref/create_foreign_data_wrapper.sgml b/doc/src/sgml/ref/create_foreign_data_wrapper.sgml index e2d897fb214..cbe50021f4f 100644 --- a/doc/src/sgml/ref/create_foreign_data_wrapper.sgml +++ b/doc/src/sgml/ref/create_foreign_data_wrapper.sgml @@ -80,11 +80,11 @@ CREATE FOREIGN DATA WRAPPER <replaceable class="parameter">name</replaceable> <varlistentry> <term><literal>VALIDATOR <replaceable class="parameter">validator_function</replaceable></literal></term> <listitem> - <para><replaceable class="parameter">validator_function</replaceable> is the - name of a previously registered function that will be called to + <para><replaceable class="parameter">validator_function</replaceable> + is the name of a previously registered function that will be called to check the generic options given to the foreign-data wrapper, as - well as options for foreign servers and user mappings using the - foreign-data wrapper. If no validator function or <literal>NO + well as options for foreign servers, user mappings and foreign tables + using the foreign-data wrapper. If no validator function or <literal>NO VALIDATOR</literal> is specified, then options will not be checked at creation time. (Foreign-data wrappers will possibly ignore or reject invalid option specifications at run time, diff --git a/src/backend/commands/foreigncmds.c b/src/backend/commands/foreigncmds.c index fb311185c8b..056bcae8a10 100644 --- a/src/backend/commands/foreigncmds.c +++ b/src/backend/commands/foreigncmds.c @@ -39,7 +39,9 @@ /* * Convert a DefElem list to the text array format that is used in - * pg_foreign_data_wrapper, pg_foreign_server, and pg_user_mapping. + * pg_foreign_data_wrapper, pg_foreign_server, pg_user_mapping, and + * pg_foreign_table. + * * Returns the array in the form of a Datum, or PointerGetDatum(NULL) * if the list is empty. * @@ -88,7 +90,8 @@ optionListToArray(List *options) * Returns the array in the form of a Datum, or PointerGetDatum(NULL) * if the list is empty. * - * This is used by CREATE/ALTER of FOREIGN DATA WRAPPER/SERVER/USER MAPPING. + * This is used by CREATE/ALTER of FOREIGN DATA WRAPPER/SERVER/USER MAPPING/ + * FOREIGN TABLE. */ Datum transformGenericOptions(Oid catalogId, @@ -681,8 +684,9 @@ AlterForeignDataWrapper(AlterFdwStmt *stmt) repl_repl[Anum_pg_foreign_data_wrapper_fdwvalidator - 1] = true; /* - * It could be that the options for the FDW, SERVER and USER MAPPING - * are no longer valid with the new validator. Warn about this. + * It could be that existing options for the FDW or dependent SERVER, + * USER MAPPING or FOREIGN TABLE objects are no longer valid according + * to the new validator. Warn about this. */ if (OidIsValid(fdwvalidator)) ereport(WARNING, |