Hola chicos. Me asalto una duda.
Cuando defino una funcion cualquiera, digamos
CREATE FUNCTION pp()
returns setof public.pp
as
$$
select * from public.pp where id=999999;
$$
En la tabla pp *no* existe ese id 999999....Bien.
test=# SELECT * from pp();
id| descripcion|
------------+-------------+
(0 filas)
Cuando la ejecuto, me devuelve 0 registros. Fantastico
Ahora, si defino la misma funcion, pero devolviendo simplemente
`returns public.pp', al ejecutar la funcion me trae 1 (un!) registro con
null'es
test=# SELECT * from pp();
id | descripcion
------------+-------------
| |
(1 fila)
??
Algun motivo para esta variacion de comportamiento?
PG 8.3.11
Gracias!
Gerardo