From: | Alvaro Herrera Munoz <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | Juan Carlos Mendoza <adminserver(at)uft(dot)edu(dot)ve> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: tiggers |
Date: | 2004-04-22 23:23:57 |
Message-ID: | 20040422232357.GA22783@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Thu, Apr 22, 2004 at 06:31:23PM -0400, Juan Carlos Mendoza wrote:
> ver?n, lo que pretendo hacer es llevar una base de datos con un listado
> de personas, si en alg?n momento se requiere, a esta persona se le debe
> de crear una cuenta ?nicamente de correo.
Cool. El unico problema que le veo a esto es: que pasa si la creacion del
usuario se aborta con un ROLLBACK? Ya tienes el usuario creado, pero no
esta registrado en la base de datos ... Que tanto te preocupe este problema
es decision tuya.
Si no te preocupa, puedes llamar en el trigger a una funcion en PL/pgSQL que
invoque a una funcion en Perl ("SELECT crear_usuario"), y desde la funcion
en Perl llevar a cabo la creacion (quizas necesites plperlu en lugar de
plperl si quieres llamar a system).
Si el problema que te mencione antes te preocupa y quieres defenderte de el,
puedes escribir un sistemita que haga LISTEN, y en el trigger hacer un
NOTIFY. La notificacion se enviara solo si la transaccion es comprometida
("COMMIT"); asi te aseguras de la transaccionalidad de tu sistema. (Claro
que para ser 100% confiable en lugar de 99.9% tu programa tendria por ej.
que dejar un registro muy detallado en un archivo, y borrarlo si todo
funciona correctamente -- si algo falla, tienes el archivo para saber que
paso).
(Si, yo hice algo semejante a lo anterior, pero no tenia nada que ver con
creacion de usuarios)
--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
Thou shalt check the array bounds of all strings (indeed, all arrays), for
surely where thou typest "foo" someone someday shall type
"supercalifragilisticexpialidocious" (5th Commandment for C programmers)
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera Munoz | 2004-04-22 23:37:26 | Re: Preguntas sobre seguridad |
Previous Message | Italo Osorio | 2004-04-22 23:18:07 | Re: tiggers |