Re: return query with set-returning functions

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Robert Treat <xzilla(at)users(dot)sourceforge(dot)net>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: return query with set-returning functions
Date: 2008-08-12 01:38:38
Message-ID: 24262.1218505118@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Robert Treat <xzilla(at)users(dot)sourceforge(dot)net> writes:
> the second function takes a uuid, looks up an integer representation, and then
> calls the first function. whenever I run it, I get the following error:

> reconnoiter=# select * from
> stratcon.fetch_dataset('cfe2aad7-71e5-400b-8418-a6d5834a0386'::uuid,'inoctets','2008-08-04
> 15:01:13-04','2008-08-11 15:01:13-04',500,'t');
> ERROR: structure of query does not match function result type
> CONTEXT: PL/pgSQL function "fetch_dataset" line 9 at RETURN QUERY

Works here after loading your schema dump, or at least it doesn't
complain:

treat-# stratcon.fetch_dataset('cfe2aad7-71e5-400b-8418-a6d5834a0386'::uuid,'inoctets','2008-08-04
treat'# 15:01:13-04','2008-08-11 15:01:13-04',500,'t');
sid | name | rollup_time | count_rows | avg_value
-----+------+-------------+------------+-----------
(0 rows)

It's possible that I'm missing the failure for lack of suitable test
data, but right offhand I'd bet that the problem is that there are
dropped columns in your copy of stratcon.rollup_matrix_numeric_5m.
plpgsql has some shortcomings in dealing with rowtypes that contain
dropped columns ...

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2008-08-12 01:53:58 Re: BUG #4350: 'select' acess given to views containing "union all" even though user has no grants
Previous Message Tom Lane 2008-08-12 01:30:39 Re: BUG #4351: Full text search performance