Re: Dudas en un query con funcion y con el where.

From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
To: "Nicola Strappazzon" <nicola51980(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Dudas en un query con funcion y con el where.
Date: 2006-10-19 05:17:10
Message-ID: c2d9e70e0610182217n12c22482x8d9c2af47704a152@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 10/18/06, Nicola Strappazzon <nicola51980(at)gmail(dot)com> wrote:
>
> iReturn := fV1 / fV2;
>

te has percatado que esto puede traerte problemas si el
SELECT SUM(A.UnidadCredito) regresa cero?

>
> LANGUAGE 'plpgsql' VOLATILE;
> >
> > Una vez que lo hayas hecho, examina el plan de ejecucion con EXPLAIN,
> > porque puede que el optimizer reduzca esa consulta a esta misma forma.
> > En ese caso deberas poner un OFFSET 0 a la consulta del subselect, lo
> > cual actua como una barrera de optimizacion ("optimization barrier";
> > puedes mirar los archivos de pgsql-hackers para leer mas sobre ese
> > truco).
> >

si la funcion puede retornar valores diferentes en cada ejecucion (sin
importar que este en la misma sentencia, por ejemplo al ejecutarse
primero en la lista SELECT y luego en el WHERE), eso es lo que
VOLATILE significa, deberias seguir el consejo de Alvaro... de lo
contrario marca la funcion como STABLE...

--
Atentamente,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Julio Cesar Sánchez González 2006-10-19 08:27:42 obtener el nombre de un campo x con pgsql
Previous Message Jaime Casanova 2006-10-19 05:03:16 Re: pregunta sobre psql