Re: return setof records - Mailing list pgsql-sql

From Chris Lukenbill
Subject Re: return setof records
Date
Msg-id fdb4b04c0607281101s5b48dce0v69cc381c23f04343@mail.gmail.com
Whole thread Raw
In response to Re: return setof records  (Michael Fuhr <mike@fuhr.org>)
List pgsql-sql
I think that actually solved the problem. The fact that I was sending back a bigint.  One of those things that's hard to spot when I don't know if I was on the right track to begin with.  Thank you everyone for your help.

Chris

On 7/28/06, Michael Fuhr <mike@fuhr.org> wrote:
On Thu, Jul 27, 2006 at 03:41:31PM -0500, Chris Lukenbill wrote:
> Everywhere I've looked the agreement was that making a call to the
> function had to be done as follows:
>
> SELECT * FROM sp_frontalerts_summary(1,'2006-07-27 18:08:09','2006-07-27
> 19:58:15' ) as (numitems int, region int);

That's one way.  Another way would be for the function to use OUT
parameters (if you're running 8.1) or to return a custom type so
you could omit the column definition list.  Then the query would be:

SELECT *
FROM sp_frontalerts_summary(1, '2006-07-27 18:08:09', '2006-07-27 19:58:15');

> So there isn't a question on that.  My question is, how do I return a
> "setof record" back to the application.

The function and how you're calling it look correct except that
count() returns bigint, not int.  You didn't mention what error
you're getting but I'd guess it's "wrong record type supplied in
RETURN NEXT".  Try using "numitems bigint" instead of "numitems int".

--
Michael Fuhr


pgsql-sql by date:

Previous
From: Michael Fuhr
Date:
Subject: Re: return setof records
Next
From: "Aaron Bono"
Date:
Subject: Re: Storing an ordered list