mirror of
https://github.com/postgres/postgres.git
synced 2025-07-02 09:02:37 +03:00
Always pass catalog id to the options validator function specified in
CREATE FOREIGN DATA WRAPPER. Arguably it wasn't a bug because the documentation said that it's passed the catalog ID or zero, but surely we should provide it when it's known. And there isn't currently any scenario where it's not known, and I can't imagine having one in the future either, so better remove the "or zero" escape hatch and always pass a valid catalog ID. Backpatch to 8.4. Martin Pihlak
This commit is contained in:
@ -6,7 +6,7 @@
|
||||
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/foreign/foreign.c,v 1.5 2009/06/11 16:14:18 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/foreign/foreign.c,v 1.5.2.1 2009/12/23 12:24:15 heikki Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -372,7 +372,7 @@ is_conninfo_option(const char *option, Oid context)
|
||||
struct ConnectionOption *opt;
|
||||
|
||||
for (opt = libpq_conninfo_options; opt->optname; opt++)
|
||||
if ((context == opt->optcontext || context == InvalidOid) && strcmp(opt->optname, option) == 0)
|
||||
if (context == opt->optcontext && strcmp(opt->optname, option) == 0)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
@ -409,7 +409,7 @@ postgresql_fdw_validator(PG_FUNCTION_ARGS)
|
||||
*/
|
||||
initStringInfo(&buf);
|
||||
for (opt = libpq_conninfo_options; opt->optname; opt++)
|
||||
if (catalog == InvalidOid || catalog == opt->optcontext)
|
||||
if (catalog == opt->optcontext)
|
||||
appendStringInfo(&buf, "%s%s", (buf.len > 0) ? ", " : "",
|
||||
opt->optname);
|
||||
|
||||
|
Reference in New Issue
Block a user