diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c index 9b4015d0d4..84ee8d686d 100644 --- a/src/backend/catalog/pg_proc.c +++ b/src/backend/catalog/pg_proc.c @@ -409,7 +409,7 @@ ProcedureCreate(const char *procedureName, ereport(ERROR, (errcode(ERRCODE_INVALID_FUNCTION_DEFINITION), errmsg("cannot change return type of existing function"), - errhint("Use DROP FUNCTION %s first.", + errhint("Use DROP ROUTINE %s first.", format_procedure(HeapTupleGetOid(oldtup))))); /* @@ -434,7 +434,7 @@ ProcedureCreate(const char *procedureName, (errcode(ERRCODE_INVALID_FUNCTION_DEFINITION), errmsg("cannot change return type of existing function"), errdetail("Row type defined by OUT parameters is different."), - errhint("Use DROP FUNCTION %s first.", + errhint("Use DROP ROUTINE %s first.", format_procedure(HeapTupleGetOid(oldtup))))); } @@ -477,7 +477,7 @@ ProcedureCreate(const char *procedureName, (errcode(ERRCODE_INVALID_FUNCTION_DEFINITION), errmsg("cannot change name of input parameter \"%s\"", old_arg_names[j]), - errhint("Use DROP FUNCTION %s first.", + errhint("Use DROP ROUTINE %s first.", format_procedure(HeapTupleGetOid(oldtup))))); } } @@ -501,7 +501,7 @@ ProcedureCreate(const char *procedureName, ereport(ERROR, (errcode(ERRCODE_INVALID_FUNCTION_DEFINITION), errmsg("cannot remove parameter defaults from existing function"), - errhint("Use DROP FUNCTION %s first.", + errhint("Use DROP ROUTINE %s first.", format_procedure(HeapTupleGetOid(oldtup))))); proargdefaults = SysCacheGetAttr(PROCNAMEARGSNSP, oldtup, @@ -527,7 +527,7 @@ ProcedureCreate(const char *procedureName, ereport(ERROR, (errcode(ERRCODE_INVALID_FUNCTION_DEFINITION), errmsg("cannot change data type of existing parameter default value"), - errhint("Use DROP FUNCTION %s first.", + errhint("Use DROP ROUTINE %s first.", format_procedure(HeapTupleGetOid(oldtup))))); newlc = lnext(newlc); } diff --git a/src/test/regress/expected/polymorphism.out b/src/test/regress/expected/polymorphism.out index 67e70c8c14..ec88621dc3 100644 --- a/src/test/regress/expected/polymorphism.out +++ b/src/test/regress/expected/polymorphism.out @@ -1081,7 +1081,7 @@ select dfunc(10,20); create or replace function dfunc(a variadic int[]) returns int as $$ select array_upper($1, 1) $$ language sql; ERROR: cannot remove parameter defaults from existing function -HINT: Use DROP FUNCTION dfunc(integer[]) first. +HINT: Use DROP ROUTINE dfunc(integer[]) first. \df dfunc List of functions Schema | Name | Result data type | Argument data types | Type @@ -1294,13 +1294,13 @@ returns record as $$ select $1, $2; $$ language sql; ERROR: cannot change name of input parameter "c" -HINT: Use DROP FUNCTION dfunc(character varying,numeric) first. +HINT: Use DROP ROUTINE dfunc(character varying,numeric) first. create or replace function dfunc(a varchar = 'def a', out _a varchar, numeric = NULL, out _c numeric) returns record as $$ select $1, $2; $$ language sql; ERROR: cannot change name of input parameter "c" -HINT: Use DROP FUNCTION dfunc(character varying,numeric) first. +HINT: Use DROP ROUTINE dfunc(character varying,numeric) first. drop function dfunc(varchar, numeric); --fail, named parameters are not unique create function testpolym(a int, a int) returns int as $$ select 1;$$ language sql; diff --git a/src/test/regress/expected/rangefuncs.out b/src/test/regress/expected/rangefuncs.out index 34ca0ef890..a870f9843b 100644 --- a/src/test/regress/expected/rangefuncs.out +++ b/src/test/regress/expected/rangefuncs.out @@ -1433,7 +1433,7 @@ CREATE OR REPLACE FUNCTION rngfunc(in f1 int, out f2 int, out f3 text) RETURNS record AS 'select $1+1' LANGUAGE sql; ERROR: cannot change return type of existing function -HINT: Use DROP FUNCTION rngfunc(integer) first. +HINT: Use DROP ROUTINE rngfunc(integer) first. CREATE OR REPLACE FUNCTION rngfuncr(in f1 int, out f2 int, out text) AS $$select $1-1, $1::text || 'z'$$ LANGUAGE sql; SELECT f1, rngfuncr(f1) FROM int4_tbl; @@ -1515,7 +1515,7 @@ SELECT * FROM dup('xyz'::text); CREATE OR REPLACE FUNCTION dup (inout f2 anyelement, out f3 anyarray) AS 'select $1, array[$1,$1]' LANGUAGE sql; ERROR: cannot change name of input parameter "f1" -HINT: Use DROP FUNCTION dup(anyelement) first. +HINT: Use DROP ROUTINE dup(anyelement) first. DROP FUNCTION dup(anyelement); -- equivalent behavior, though different name exposed for input arg CREATE OR REPLACE FUNCTION dup (inout f2 anyelement, out f3 anyarray)