Ошибка при исполнении функции - No function matches the given name and argument types

delta9

Guest
Ошибка при исполнении функции - No function matches the given name and argument types

Добрый день.
Есть ф-ция :
CREATE OR REPLACE FUNCTION public.foobar(date, text) RETURNS bool AS
'
DECLARE
ddate alias for $1;
dcomm alias for $2;
BEGIN
insert into TABLE (comm, on_date) values (dcomm, ddate);
RETURN true;
END;
'
LANGUAGE 'plpgsql' VOLATILE;

есть ее вызов в php-скрипте :
$sql = "select foobar('some text', '".date("Y-m-d",time())."')";
$res = sql_exec($sql);

И есть ошибка :
ERROR: function foobar("unknown", "unknown") does not exist HINT: No function matches the given name and argument types. You may need to add explicit type casts.

Что я неправильно делаю? в чем косяк?

Заранее спасибо.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: delta9
Что я неправильно делаю? в чем косяк?
Во-первых, параметры в создании функции и в её вызове явно в разном порядке.

Во-вторых, попробуй явно указывать тип:
PHP:
$sql = "select foobar('some text', '".date("Y-m-d",time())."'::date)";
 

delta9

Guest
спасибо!

а с порядком - это я при написании примера ошибся. На самом деле порядок аргументов в порядке :)

вообще-то какая-то странная эта ошибка(плавающая) - есть похожая функция( func(int2, date, numeric) - так с нею все нормально), а с этой - беда :(

Проверил Ваше предложение - ошибка не исчезла
 
Сверху