diff --git a/doc/src/sgml/ref/alter_foreign_data_wrapper.sgml b/doc/src/sgml/ref/alter_foreign_data_wrapper.sgml index 7376804403..91ac1b2f0c 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 name REN - 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. 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 ALTER FOREIGN DATA + WRAPPER command will be checked using the new validator. diff --git a/doc/src/sgml/ref/create_foreign_data_wrapper.sgml b/doc/src/sgml/ref/create_foreign_data_wrapper.sgml index e2d897fb21..cbe50021f4 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 name VALIDATOR validator_function - validator_function is the - name of a previously registered function that will be called to + validator_function + 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 NO + well as options for foreign servers, user mappings and foreign tables + using the foreign-data wrapper. If no validator function or NO VALIDATOR 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 fb311185c8..056bcae8a1 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,