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)
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 |