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:28:35 -0400 |
commit | c2b51cf1903d5ed5e962ed68b4a4eeb40fe037db (patch) | |
tree | 02ba970a8fe15a3f54558826b8f0f0ac750f17a5 | |
parent | 438df52df9bf7ade0c042e73e9c83c0a58adb5bb (diff) | |
download | postgresql-c2b51cf1903d5ed5e962ed68b4a4eeb40fe037db.tar.gz postgresql-c2b51cf1903d5ed5e962ed68b4a4eeb40fe037db.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, |