]> granicus.if.org Git - postgresql/commitdiff
Improve documentation about usage of FDW validator functions.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 28 Oct 2013 14:28:35 +0000 (10:28 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 28 Oct 2013 14:30:10 +0000 (10:30 -0400)
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

doc/src/sgml/ref/alter_foreign_data_wrapper.sgml
doc/src/sgml/ref/create_foreign_data_wrapper.sgml
src/backend/commands/foreigncmds.c

index 7376804403db2024348235f966c020ecd362a23d..91ac1b2f0c986a5d18f9be3176335d34ef086d70 100644 (file)
@@ -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>
index e2d897fb21434c3ff30262b2f5896c3c5985aace..cbe50021f4f42d2f2f56e53b6b7cf38dc3bb5790 100644 (file)
@@ -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,
index fb311185c8beeb38a8f1144b84875b9eb8642427..056bcae8a10c26280bd8587b4e8b0d30baf9fa1d 100644 (file)
@@ -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,