Re: Diferencia entre RETURNS SETOF y RETURNS TABLE

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Diferencia entre RETURNS SETOF y RETURNS TABLE
Date: 2012-02-07 18:14:06
Message-ID: 1328638173-sup-5248@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


Excerpts from Lazaro Rubén García Martinez's message of mar feb 07 13:45:14 -0300 2012:
> Hola a todos en la lista. Les escribo porque tengo un par de dudas respecto a los tipos de retornos en las funciones.
>
>
> 1. Existe alguna diferencia en cuanto a rendimiento entre los tipos de retorno RETURNS SETOF y RETURNS TABLE?
>
>
> 2. Igualmente existe alguna diferencia entre utilizar RETURN QUERY respecto a crear un bucle Loop y dentro de este ejecutar un RETURN NEXT?

Me parece que actualmente no hay ninguna diferencia. Sin embargo yo
siempre usaría la forma que sea "más declarativa" porque es posible que
en el futuro se incluyan optimizaciones; aunque nunca he oído decir a
nadie que esté trabajando en optimizaciones en esta área, ni siquiera
que sean posibles.

En estos dos casos que planteas, lo más importante que debes testear es
cómo se comportan si tienes tablas con columnas borradas: es decir,
creas una tabla con una columna extra en la mitad, luego borras la
columna, luego creas la función. Eso debe comportarse igual que si
creas la tabla sin la columna; o bien si creas la función antes de
borrar la columna. Creo que cualquiera de esos que se comporte de modos
raros es un bug a reportar.

--
Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alejandro Carrillo 2012-02-07 18:45:09 Re: Diferencia entre RETURNS SETOF y RETURNS TABLE
Previous Message Juan Carlos Ramirez Zambrano 2012-02-07 17:26:03 Ayuda sobre problema de replicacion