Re: Composite type within a composite type? - Mailing list pgsql-general

From Tom Lane
Subject Re: Composite type within a composite type?
Date
Msg-id 17263.1121723553@sss.pgh.pa.us
Whole thread Raw
In response to Composite type within a composite type?  (Juan Miguel Paredes <juan.paredes@gmail.com>)
List pgsql-general
Juan Miguel Paredes <juan.paredes@gmail.com> writes:
> DECLARE
>   res helpdesk.tp_res_conestadosdisponiblessoporte;
> BEGIN
>   IF estadoactual = 'Abierto' THEN
>     SELECT INTO res.filas *
>     FROM tbl_estadosoporte

Without having looked at the code, I suspect that plpgsql just assumes
res.filas is of scalar type and so fails to match it up to the entire
SELECT INTO * list.  (It's not obvious how to do "better" for arbitrary
combinations of scalar types, composite types, and user expectations...)

I'd recommend that you declare a row variable of type tbl_estadosoporte,
select into that, and then worry about constructing the larger composite
result.

            regards, tom lane

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: index row size exceeds btree maximum, 2713 - Solutions?
Next
From: Dawid Kuroczko
Date:
Subject: Re: Converting MySQL tinyint to PostgreSQL