Thread: FUNCTION ERROR

FUNCTION ERROR

From
"Mario Alberto Soto Cordones"
Date:
Hi.
i have a big problem with a function.

i create a type unidades   CREATE TYPE unidades AS (codigo numeric(3,0),                            descripcion text);
and i create a function get_unidades    CREATE FUNCTION get_unidades(int4, int4, int4, int4) RETURNStypeofunidades AS
'SELECTcucoduni, cudesuniFROM cumauniWHERE cuempuni = $1 and      cuseduni = $2 and      cucaruni = $3 and
cuasiuni=$4; '  LANGUAGE 'sql'; 

when execute this function

select * from get_contenidos(10,1,15,17,31,12)
as (codigo numeric(3,0),
descripcion text)

SAY

ERROR: ExecMakeTableFunctionResult: Invalid result from function returning
tuple

ANY IDEA



Re: FUNCTION ERROR

From
Stephan Szabo
Date:
On Tue, 22 Apr 2003, Mario Alberto Soto Cordones wrote:

> Hi.
> i have a big problem with a function.

> i create a type unidades
>     CREATE TYPE unidades AS (codigo numeric(3,0),
>                              descripcion text);
>
>  and i create a function get_unidades
>      CREATE FUNCTION get_unidades(int4, int4, int4, int4) RETURNS
>  typeof
>  unidades AS '
>  SELECT cucoduni, cudesuni
>  FROM cumauni
>  WHERE cuempuni = $1 and
>        cuseduni = $2 and
>        cucaruni = $3 and
>        cuasiuni= $4
>  ; '  LANGUAGE 'sql';
>
> when execute this function
>
> select * from get_contenidos(10,1,15,17,31,12)
> as (codigo numeric(3,0),
> descripcion text)
>
> SAY
>
> ERROR: ExecMakeTableFunctionResult: Invalid result from function returning
> tuple
>
> ANY IDEA

It's hard to say since you're not calling the function you gave the
definition for, the function definition above isn't valid I think (I get
an error at unidades after making a table with appropriate columns -
fixable by replacing typeof with setof), and you didn't give the table
definition for the table in question.