"any" to functions and function aliases

Поиск
Список
Период
Сортировка
От Peter Koczan
Тема "any" to functions and function aliases
Дата
Msg-id 4544e0330709081405gf456792i5ee4f0e7b40860ec@mail.gmail.com
обсуждение исходный текст
Ответы Re: "any" to functions and function aliases  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-admin
Hi all,

I have a question regarding functions. I'm in the process of porting
old but necessary applications to postgres, and was wondering about a
couple things regarding portability of functions.

- Below I have an error message from pg_restore on an old database
dump. Apparently this function worked properly in 7.4, but doesn't
work on 8.2. The problem is that you can't specify the arbitrary data
type "any" for a return value. Any ideas what's up? Note that there
are isnull functions with specific return types, but this may not
capture all types we need to.

------
pg_restore: [archiver (db)] Error from TOC entry 1156; 0 18175
FUNCTION isnull("any", "any") postgres
pg_restore: [archiver (db)] could not execute query: ERROR:  plpgsql
functions cannot return type "any"
    Command was: CREATE FUNCTION "isnull"("any", "any") RETURNS "any"
    AS '
declare
test alias for $1;
alt alias for $2;
begin

if nullval...
------

- This function does the same thing as coalesce, is there any nice way
to make isnull an alias for coalesce without having to create a lot of
different functions for this purpose?

I know we could rewrite our stuff to use coalesce instead of isnull,
but if there's a way we could rewrite a less code on the client side,
it would be better.

Thanks,
Peter

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

Предыдущее
От: "Scott Marlowe"
Дата:
Сообщение: Re: Can't login to 8.2.4 if not superuser...
Следующее
От: Tom Lane
Дата:
Сообщение: Re: "any" to functions and function aliases