Re: tiggers

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)

In response to

  • Re: tiggers at 2004-04-22 22:31:23 from Juan Carlos Mendoza

Responses

  • Re: tiggers at 2004-04-22 23:56:48 from Juan Carlos Mendoza

Browse pgsql-es-ayuda by date

  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