Si si eso es lo que me llama mucho la atención y sospeché de una sobrecarga
de función, busqué otra que se llame igual, pero no hay nada, es muy raro.
Voy a poner un raise notice en la que devuelve per_fecha para asegurarme
que es la que se está ejecutando, ya les cuento el resultado.

Guillermo Villanueva


El 18 de marzo de 2015, 15:24, Alvaro Herrera <alvhe...@2ndquadrant.com>
escribió:

> Guillermo E. Villanueva escribió:
> > Buenos días!
> >
> > Retomando este viejo tema planteado hace un tiempo, les comento que
> > Postgres me duvelve diferente nombre de columna para una misma función,
> > pasando de una versión 9.0.5 a 9.0.13.
> > Creo que Alvaro H me lo explicó pero no puedo encontrar su rta.
> > Me gustaría entender porque Postgres devuelve diferentes nombres de
> columna
> > para esta función en concreto:
> > CREATE OR REPLACE FUNCTION nacer.periodos()
> >   RETURNS SETOF timestamp without time zone AS
> > $BODY$
> > declare
> > lts_minimo timestamp;
> > lts_maximo timestamp;
> > begin
> > select max(periodo), min(periodo) into lts_maximo, lts_minimo from
> > nacer.historicotemp;
> > RETURN QUERY select * from generate_series(lts_minimo, lts_maximo, '1
> > month'::interval);
> > end;
> > $BODY$
> >   LANGUAGE plpgsql
> >
> > En ambos casos testeo la función con la sentencia:
> > select * from nacer.periodos()
> >
> > En la versión 9.0.5   la columna devuelta se llama per_fecha. Todavía no
> > logro entender de donde lo saca al nombre.
> > En la versión 9.0.13 la columna devuelta se llama periodos.
>
> Yo creo que estás invocando funciones distintas en cada caso.  ¿No será
> que una tiene un parámetro y la otra no, o algo así?  El nombre
> "periodos" que te devuelve en el segundo caso es (muy probablemente)
> tomado del nombre de la función; pero el per_fecha no tiene de dónde
> salir.
>
> --
> Álvaro Herrera                http://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>

Responder a