pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Michael Fuhr <mike@fuhr.org>
To: Chris Lukenbill <chris@blendinteractive.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: return setof records
Date: Fri, 28 Jul 2006 08:13:49 -0600
Message-ID: <20060728141348.GA95234@winnie.fuhr.org> (raw)
In-Reply-To: <1154032891.v2.fusewebmail-168507@ffuse18>
References: <1154032891.v2.fusewebmail-168507@ffuse18>

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



view thread (3+ messages)  latest in thread

Message-ID: <20060728141348.GA95234@winnie.fuhr.org>
Permalink:  ../20060728141348.GA95234@winnie.fuhr.org/
Also on:    postgresql.org/message-id/20060728141348.GA95234@winnie.fuhr.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: mike@fuhr.org, chris@blendinteractive.com
  Subject: Re: return setof records
  In-Reply-To: <20060728141348.GA95234@winnie.fuhr.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox