From: | "Peter Koczan" <pjkoczan(at)gmail(dot)com> |
---|---|
To: | "pgsql-admin(at)postgresql(dot)org" <pgsql-admin(at)postgresql(dot)org> |
Subject: | "any" to functions and function aliases |
Date: | 2007-09-08 21:05:43 |
Message-ID: | 4544e0330709081405gf456792i5ee4f0e7b40860ec@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2007-09-08 21:33:45 | Re: "any" to functions and function aliases |
Previous Message | Scott Marlowe | 2007-09-08 01:57:34 | Re: Can't login to 8.2.4 if not superuser... |