</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>
<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,
/*
* 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.
*
* 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,
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,