"any" to functions and function aliases - Mailing list pgsql-admin

From Peter Koczan
Subject "any" to functions and function aliases
Date
Msg-id 4544e0330709081405gf456792i5ee4f0e7b40860ec@mail.gmail.com
Whole thread Raw
Responses Re: "any" to functions and function aliases  (Tom Lane <tgl@sss.pgh.pa.us>)
List 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 by date:

Previous
From: "Scott Marlowe"
Date:
Subject: Re: Can't login to 8.2.4 if not superuser...
Next
From: Tom Lane
Date:
Subject: Re: "any" to functions and function aliases