Re: return setof records - Mailing list pgsql-sql

From Michael Fuhr
Subject Re: return setof records
Date
Msg-id 20060728141348.GA95234@winnie.fuhr.org
Whole thread Raw
In response to return setof records  ("Chris Lukenbill" <chris@blendinteractive.com>)
Responses Re: return setof records  ("Chris Lukenbill" <chris@blendinteractive.com>)
List pgsql-sql
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: Erik Jones
Date:
Subject: Re: Disk is full, what's cool to get rid of?
Next
From: "Chris Lukenbill"
Date:
Subject: Re: return setof records