mirror of
https://github.com/postgres/postgres.git
synced 2025-06-05 23:56:58 +03:00
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?
This commit is contained in:
parent
2d558b2baa
commit
e921472fef
@ -22,7 +22,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.305.2.9 2003/10/28 21:05:39 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.305.2.10 2004/03/02 21:15:15 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -3917,8 +3917,16 @@ dumpCasts(Archive *fout,
|
||||
if (strcmp(castfunc, "0") == 0)
|
||||
appendPQExpBuffer(defqry, "WITHOUT FUNCTION");
|
||||
else
|
||||
appendPQExpBuffer(defqry, "WITH FUNCTION %s",
|
||||
format_function_signature(&finfo[fidx], true));
|
||||
{
|
||||
/*
|
||||
* 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(finfo[fidx].pronamespace->nspname));
|
||||
appendPQExpBuffer(defqry, "%s",
|
||||
format_function_signature(&finfo[fidx], true));
|
||||
}
|
||||
|
||||
if (strcmp(castcontext, "a") == 0)
|
||||
appendPQExpBuffer(defqry, " AS ASSIGNMENT");
|
||||
|
Loading…
x
Reference in New Issue
Block a user