summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2013-10-28 14:28:35 +0000
committerTom Lane2013-10-28 14:28:35 +0000
commitc2b51cf1903d5ed5e962ed68b4a4eeb40fe037db (patch)
tree02ba970a8fe15a3f54558826b8f0f0ac750f17a5
parent438df52df9bf7ade0c042e73e9c83c0a58adb5bb (diff)
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.sgml12
-rw-r--r--doc/src/sgml/ref/create_foreign_data_wrapper.sgml8
-rw-r--r--src/backend/commands/foreigncmds.c12
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,