Re: Validacion de un trigger

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Fernando Aguada <fernandoaguada(at)yahoo(dot)com(dot)ar>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Validacion de un trigger
Date: 2005-03-10 21:04:51
Message-ID: 20050310210451.GE7772@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Thu, Mar 10, 2005 at 05:55:35PM -0300, Alvaro Herrera wrote:

> Asi como esta, no veo nada malo en la funcion que das mas abajo. Como
> te decia antes, puede tener que ver con el avance del snapshot dentro de
> la funcion; pero como es solo de lectura, tu funcion deberia ser STABLE.
> Asegurate que otras funciones que se usen aca y que hagan UPDATES,
> INSERTs o DELETEs esten marcadas apropiadamente como VOLATILE.

En una funcion STABLE, el snapshot nunca avanza dentro de ella. (Esto
significa que la funcion se comporta como si todo fuera una misma
consulta, algo asi como si todo se ejecutara en modo SERIALIZABLE.

En una funcion VOLATILE, el snapshot avanza entre cada sentencia. Esto
significa que si haces INSERT las clausulas siguientes van a "ver" el
resultado de ese insert.

En 8.0 es mas importante que antes el que las funciones tengan el
demarcado correcto (VOLATILE, STABLE etc).

--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"Cuando mañana llegue pelearemos segun lo que mañana exija" (Mowgli)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Marcelo Retamal Vallejos 2005-03-10 21:17:10 Re: Una duda acerca del funcionamiento interno de postgres
Previous Message Alvaro Herrera 2005-03-10 20:55:35 Re: Validacion de un trigger