Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Perdida de conexion y rollback

Estas en el tema de Perdida de conexion y rollback en el foro de Mysql en Foros del Web. Buen dia, a ver si alguien me puede dar una idea de como lograr lo que quiero Supongamos un mercado, manejo de BD en InnoDB ...
  #1 (permalink)  
Antiguo 21/04/2010, 23:44
 
Fecha de Ingreso: agosto-2005
Mensajes: 7
Antigüedad: 18 años, 8 meses
Puntos: 0
Perdida de conexion y rollback

Buen dia, a ver si alguien me puede dar una idea de como lograr lo que quiero

Supongamos un mercado, manejo de BD en InnoDB

Tengo un anaquel de galletas en el que necesito saber cuantas galletas hay en un determinado momento.

Muchas personas pueden llegar a las, repito, LAS cajas con galletas, pero tambien varios de ellos pudieran arrepentirse de comprarlas y no las regresaron al anaquel

Por otro lado, el cliente pudiera no poder pagar por su mercado, asi que...

Se debe comenzar una transaccion donde se vallan registrando las compras, pero se haria el commit al recibir el pago.- Asi si algo falla, un rollback reversaria todo

Sin embargo, mientras la transaccion no este confirmada, la cantidad de galletas en el anaquel ha bajado en una cantidad equivalente a lo que ya esta prefacturado, pero la BD aun no lo sabe con certeza


Para enfrentar este problema, cree una tabla de compras en transito, en la cual la aplicacion puede descontar las galletas en la caja, del inventario en el anaquel, a fin de saber a ciencia cierta, cual es mi diponibilidad real de galletas en un determinado instante.

Ademas, al recibir el pago consolido la transaccion en las tablas que corresponda y borro la compra de la tabla de transito.

Si la conexion con una caja falla, la transaccion sufrira un rollback y casi todo quedo como estaba

Todo muy fino hasta aqui, PERO.......

Si pierdo la conexion de una de las cajas mientras esta facturando, en la tabla de transito estara cargada la compra a ser realizada, afectando a los inventarios hasta que se borren los registros de la caja que fallo.

Si manejase la tabla de transito por transacciones, una falla de este tipo dispararia el rollback de forma automatica, pero mientras no consolide las ventas, las operaciones en transito no estan visibles al resto de las cajas, asi que no se cuantas galletasquedan en el estante.

Entonces, como detecto en el servidor, que una determinada caja se desconecto y como podria hacer en dicho caso para que el mismo MySql borre las operaciones de la caja que fallo en la tabla de transito ??

Alguna Idea ??

Gracias
Dafyrza

Etiquetas: conexion, perdida, rollback
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:29.