From: | Juan Jose Rosales Rodriguez <jjrosales(at)estudiantes(dot)uci(dot)cu> |
---|---|
To: | Mariano Reingart <mariano(at)nsis(dot)com(dot)ar> |
Cc: | Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>, suso <jlcubas(at)terra(dot)es>, pgsql-es-ayuda(at)postgresql(dot)org, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
Subject: | Re: Bloqueo en registro-tabla |
Date: | 2009-06-16 20:06:22 |
Message-ID: | 1409067909.325431245182782615.JavaMail.root@ucimail4.uci.cu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
gyhtg
Juan Jose Rosales Rodriguez
ERP-CUBA 2009.
----- Mensaje original -----
De: "Mariano Reingart" <mariano(at)nsis(dot)com(dot)ar>
Para: "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>
CC: "Jaime Casanova" <jcasanov(at)systemguards(dot)com(dot)ec>, "suso" <jlcubas(at)terra(dot)es>, pgsql-es-ayuda(at)postgresql(dot)org
Enviados: Martes, 16 de Junio 2009 16:02:37 GMT -05:00 Región oriental EE. UU./Canadá
Asunto: Re: [pgsql-es-ayuda] Bloqueo en registro-tabla
Alvaro:
> Mariano Reingart escribió:
>
>> Para solucionar el tema si el médico se va y no desbloquea, se podría
>> implementar algun mecanismo de señales con LISTEN y NOTIFY para detectar
>> si el bloqueo sigue vigente o no.
>
> Hmm, ¿quién haría listen y quién notify? ¿Qué identificador se usaría?
Se me ocurre que una forma es que el que necesita acceso (y esta
bloqueado) podría hacer un NOTIFY sobre la misma tabla, y el LISTEN lo
haría el que esta bloqueando.
De esta forma los que tengan bloqueos, los podrían revalidar (cambiar la
fecha o algún otro dato del registro en cuestión).
Si no los revalidan en x segundos listo, se consideraría que la máquina se
apago o la conexión se interrumpió.
Igualmente al escuchar en el NOTIFY, tendría que preguntarle al usuario si
renovar el bloque o permitir que el otro usuario modifique el registro,
porque si te dejaron la maquina encendida y el proceso es automático,
estaríamos en la misma (va a renovar el bloqueo cuando el usuario no
esta).
De todas maneras, al seguir siendo un bloqueo lógico, a mi me parece que
también se debe verificar la versión de la fila con xmin, para evitar
sobreescribir los datos que pudo haber escrito otro usuario, por el motivo
que fuese.
Igualmente todo esto es una suposición, habría que probarlo bien.
Sds
Mariano
>
> --
> Alvaro Herrera
> http://www.flickr.com/photos/alvherre/
> "Hackers share the surgeon's secret pleasure in poking about in gross
> innards,
> the teenager's secret pleasure in popping zits." (Paul
> Graham)
> --
> TIP 8: explain analyze es tu amigo
>
--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
From | Date | Subject | |
---|---|---|---|
Next Message | Alejandro D. Burne | 2009-06-16 20:11:53 | Re: AYUDA CON JOBS |
Previous Message | Mariano Reingart | 2009-06-16 20:02:37 | Re: Bloqueo en registro-tabla |