Re: problem with overloading the "coalesce" function
От | Richard Huxton |
---|---|
Тема | Re: problem with overloading the "coalesce" function |
Дата | |
Msg-id | 440C1D34.6060308@archonet.com обсуждение исходный текст |
Ответ на | Re: problem with overloading the "coalesce" function (Emil Rachovsky <zsevgymko@yahoo.com>) |
Ответы |
Re: problem with overloading the "coalesce" function
|
Список | pgsql-general |
Emil Rachovsky wrote: > > --- Richard Huxton <dev@archonet.com> wrote: > >> Emil Rachovsky wrote: >>> Hi, >>> I am trying to overload the "coalesce" function to >>> accept an integer and a string. Here it is : >>> >>> CREATE OR REPLACE FUNCTION "coalesce"(a int4, b >>> "varchar") >>> RETURNS "varchar" AS >> ... >>> I have added it to pg_catalog, but still I cant't >> use >>> it, I get an error on the second parameter >> What is the error? > > The error is : invalid input syntax for integer > That is,it expects an integer as a second parameter, > since the first is an integer. Hmm - looking at the source (and \df in psql) it seems the basic problem is that COALESCE() isn't a function. It has its own code in the parser and its own expression-node. So - your function never gets called because the parser sees coalesce() and doesn't build a function - it builds a coalesce-expression. It should work fine if you rename your function of course. HTH -- Richard Huxton Archonet Ltd
В списке pgsql-general по дате отправления: