Pues parece que está el tema solucionado, estamos de acuerdo que esa es
la mejor manera, menos complicada y es eficiente
Parece que mas o menos esta solucionado el tema, a ver si me aclaro:
1 - un bloqueo lógico, incluyendo fecha-hora, IP del medico, esta ip
puede servir tambien si en caso de estar blqoueada la tabla, saber por
que médico es, y asi, también, en caso de cualquier tema, poder pedir
"responsabilidades", aunque algusno de estos datos, lo va a llevar en la
auditoria
2 comparar xmin
Si, yo creo que con esos dos puntos te alcanza
Suso:
Hola Mariano, lo que se me ocurre, hacer un blqueo como sugieres, con
"x" minutos en la hora del server, cuando otra persona(médico o data
manager) entra a ese mismo paciente, sea por la razón que sea, mire s
está bloqueado, y si es así, la hora del bloqueo, si ha pasado la
hora(los minutos), y sigue bloqueado, es decir, el médico apagó
directamente el pc o se le bloqueó, etc, pues desbloquearlo sobre la
marcha, no sé si es correcto.
Ya me diréis como lo veis.
A mi me parece lo más simple (comparar la fecha y/o desbloquear sobre la
marcha), pero tené en cuenta que si el médico vuelve, podría estar
sobreescribiendo la fila pensando que todavía tiene el bloqueo.
Esto se soluciona con el xmin y/o también comparando la ip de la persona
que lo bloqueó, y en función de eso, obrar en consecuencia
Si, yo no compararía contra la IP (por si el médico se equivocó y abrió
dos sesiones del sistema), simplemente con el xmin creo que alcanza.
Por eso te recomendaba guardate también el xmin original, para que en el
momento de hacer el commit, compararlo y poder detectar si otro decidió
cambiar los datos a pesar del bloqueo.
OK
Este sistema me está sobrepasando por lo que veo:(
Suele pasar, pero es un lindo desafio :)
A mi me ha pasado casi desde el prinicpio que empeze a programa, soy
autodidacta, a base de libros, pedir consejo(como es el caso), u busaca
que te bsuca por internet:)
desde luego:)
Suerte !
Muchas gracias
Sds
Mariano
Un saludo
Suso
--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net