Unable to call an overloaded UDF

Поиск
Список
Период
Сортировка
От Hanefi Onaldi
Тема Unable to call an overloaded UDF
Дата
Msg-id LV2PR21MB318335C4C61C2EB2FF6E177BE3CB9@LV2PR21MB3183.namprd21.prod.outlook.com
обсуждение исходный текст
Ответы Re: Unable to call an overloaded UDF  (Bzzzz <lazyvirus@gmx.com>)
Список pgsql-novice

Hello,

 

I have created 2 functions with the same name, and I am unable to call one of them. The first one does not have any parameters, and the second one has a single parameter with a default value. The error message I get makes sense to me, however the hint is not so helpful as I do not see any way I can do a type cast that will make Postgres call the function without any parameters in the definition.

 

Is there a way to make this work? Can this be a bug that needs fixing, or is it a known and intended feature?

 

 

Function definitions:

 

CREATE FUNCTION f() RETURNS int as $$ SELECT 1 $$ LANGUAGE SQL;

CREATE FUNCTION f(param int DEFAULT 1) RETURNS int as $$ SELECT param $$ LANGUAGE SQL;

 

 

Error message after I ran a simple query:

 

postgres # SELECT f();
ERROR:  42725: function f() is not unique
LINE 1: SELECT f();
               ^
HINT:  Could not choose a best candidate function. You might need to add explicit type casts.
LOCATION:  ParseFuncOrColumn, parse_func.c:577

 

Best,

Hanefi

В списке pgsql-novice по дате отправления:

Предыдущее
От: Stephen Froehlich
Дата:
Сообщение: RE: Using "object orientated" tables?
Следующее
От: Bzzzz
Дата:
Сообщение: Re: Unable to call an overloaded UDF