Thread
Commits
-
Fix dependency on FDW handler.
- 703fee3b25c4 19 (unreleased) landed
- 876fa84a275e 17.10 landed
- c6f369e585e9 14.23 landed
- 3a35ab1d0126 15.18 landed
- a19edb66a847 16.14 landed
- c11f87b1a3b9 18.4 landed
-
ALTER FOREIGN DATA WRAPPER can drop dependency on handler
Jeff Davis <pgsql@j-davis.com> — 2026-03-18T19:09:54Z
CREATE FUNCTION test_fdw_handler() RETURNS fdw_handler AS :'regresslib', 'test_fdw_handler' LANGUAGE C; CREATE FOREIGN DATA WRAPPER test_fdw HANDLER test_fdw_handler; -- correctly raises dependency ERROR DROP FUNCTION test_fdw_handler; ALTER FOREIGN DATA WRAPPER test_fdw VALIDATOR postgresql_fdw_validator; -- fails to raise dependency error ERROR DROP FUNCTION test_fdw_handler; Patch attached. Note: I found this while investigating a related issue for the FDW connection function, with patch here: https://www.postgresql.org/message-id/fd49b44dc65da8e71ab20c1cf1ec7e65921c20f5.camel@j-davis.com I am keeping this patch separate for a clean backport. Regards, Jeff Davis -
Re: ALTER FOREIGN DATA WRAPPER can drop dependency on handler
Nathan Bossart <nathandbossart@gmail.com> — 2026-03-18T19:29:58Z
On Wed, Mar 18, 2026 at 12:09:54PM -0700, Jeff Davis wrote: > --- a/src/backend/commands/foreigncmds.c > +++ b/src/backend/commands/foreigncmds.c > @@ -786,6 +786,11 @@ AlterForeignDataWrapper(ParseState *pstate, AlterFdwStmt *stmt) > ereport(WARNING, > (errmsg("changing the foreign-data wrapper handler can change behavior of existing foreign tables"))); > } > + else > + { > + /* handler unchanged */ > + fdwhandler = fdwForm->fdwhandler; > + } This matches what we do for the validator a few lines down, so it makes sense to me. Could it be worth adding a test or two? -- nathan -
Re: ALTER FOREIGN DATA WRAPPER can drop dependency on handler
Jeff Davis <pgsql@j-davis.com> — 2026-03-18T20:40:38Z
On Wed, 2026-03-18 at 14:29 -0500, Nathan Bossart wrote: > This matches what we do for the validator a few lines down, so it > makes > sense to me. Could it be worth adding a test or two? Added a test. Testing in the other direction (adding HANDLER and leaving VALIDATOR unspecified, then dropping the validator) is slightly more complex because I don't want to drop the built-in postgresql_fdw_validator. But the patch in the other thread can be extended with a new test or two also, which will cover that case. Will backport all the way. Regards, Jeff Davis
-
Re: ALTER FOREIGN DATA WRAPPER can drop dependency on handler
Nathan Bossart <nathandbossart@gmail.com> — 2026-03-18T21:41:37Z
On Wed, Mar 18, 2026 at 01:40:38PM -0700, Jeff Davis wrote: > Added a test. LGTM -- nathan