From: | Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec> |
---|---|
To: | Julio Cesar Rodriguez Dominguez <jurasec(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: [pgsql-es-ayuda] Valor null en retorno de función tipo setof |
Date: | 2009-05-26 21:25:57 |
Message-ID: | 3073cc9b0905261425u2d823f53i9978446e3fdc4a18@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
2009/5/26 Julio Cesar Rodriguez Dominguez <jurasec(at)gmail(dot)com>:
>
> CREATE TYPE mi_tipo as(fecha date, concepto text);
>
> CREATE OR REPLACE FUNCTION mi_funcion( )
> RETURNS setof mi_tipo AS
> $BODY$
> declare
> rec record;
> begin
> select into rec null,'concepto'::text;
> return next rec;
>
> select into rec now()::date,'concepto'::text;
> return next rec;
>
> return ;
> end;
> $BODY$ LANGUAGE 'plpgsql';
>
> select * from mi_funcion();
> ERROR: wrong record type supplied in RETURN NEXT
>
yo diria que es un bug... en todo caso la funcion funcionara si
casteas el null a date:
select into rec null::date, 'concepto'::text;
aunque tu funcion se veria mejor asi (al menos desde 8.3 en adelante):
CREATE OR REPLACE FUNCTION mi_funcion_out(out fecha date, out concepto
text) RETURNS setof record AS
$BODY$
begin
return query select null::date,'concepto'::text;
return query select now()::date,'concepto'::text;
return ;
end;
$BODY$ LANGUAGE 'plpgsql';
--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157
From | Date | Subject | |
---|---|---|---|
Next Message | Josh Berkus | 2009-05-26 21:55:55 | 8.4 release draft in progress ... |
Previous Message | Julio Cesar Rodriguez Dominguez | 2009-05-26 20:24:40 | Valor null en retorno de función tipo setof |