非互換
FUJITSU Enterprise Postgres 12では、DROP IF EXISTS FUNCTION/PROCEDURE/AGGREGATE/ROUTINEが、引数リストを省略していて一致するオブジェクトが複数あるときに、エラーを出力すようになります。
引数リストを省略していて一致するオブジェクトが複数あるときに、「NOTICE」を出力します。
[例]
=# CREATE FUNCTION f1() RETURNS int LANGUAGE sql AS $$ SELECT 1 $$; CREATE FUNCTION =# CREATE FUNCTION f1(p int) RETURNS int LANGUAGE sql AS $$ SELECT 1 $$; CREATE FUNCTION =# DROP FUNCTION IF EXISTS f1; NOTICE: function f1() does not exist, skipping (11891) DROP FUNCTION
引数リストを省略していて一致するオブジェクトが複数あるときに、「ERROR」を出力します。
[例]
=# CREATE FUNCTION f1() RETURNS int LANGUAGE sql AS $$ SELECT 1 $$; CREATE FUNCTION =# CREATE FUNCTION f1(p int) RETURNS int LANGUAGE sql AS $$ SELECT 1 $$; CREATE FUNCTION =# DROP FUNCTION IF EXISTS f1; ERROR: function name "f1" is not unique HINT: Specify the argument list to select the function unambiguously.
対処方法
ありません。