提交 0c6e97db 编写于 作者: T Tom Lane

Always schema-qualify the name of a function referenced in CREATE CAST.

The former coding failed if the cast function was not in the pg_catalog
schema.  How'd this escape detection?
上级 351cf4d0
......@@ -12,7 +12,7 @@
* by PostgreSQL
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.365 2004/02/24 03:35:19 tgl Exp $
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.366 2004/03/02 21:14:44 tgl Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -5080,8 +5080,16 @@ dumpCast(Archive *fout, CastInfo *cast)
if (!OidIsValid(cast->castfunc))
appendPQExpBuffer(defqry, "WITHOUT FUNCTION");
else
appendPQExpBuffer(defqry, "WITH FUNCTION %s",
{
/*
* Always qualify the function name, in case it is not in pg_catalog
* schema (format_function_signature won't qualify it).
*/
appendPQExpBuffer(defqry, "WITH FUNCTION %s.",
fmtId(funcInfo->pronamespace->nspname));
appendPQExpBuffer(defqry, "%s",
format_function_signature(funcInfo, NULL, true));
}
if (cast->castcontext == 'a')
appendPQExpBuffer(defqry, " AS ASSIGNMENT");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册