Caray, pero resulta que al hacer un SavePoint1.Restore, el punto podría seguir marcado (Saved = True), como cuando se restaura un punto anidado dentro de una transacción de base de datos en Firebird. Y si ya no se quiere el punto, éste debe ser liberado, no confirmado; porque en ese momento no hay nada que confirmar. Esa es la situación donde tiene más sentido la instrucción SQL "Release SavePoint". Entonces sí existe el concepto de liberación de punto, sólo que dicha acción no puede (o no debe) ser ejecutada mientras Saved = True y exista algo que confirmar (sólo cuando Saved = True y NO haya nada que confirmar). Entonces podría ser necesario un método virtual llamado ReleaseRestored o algo así para abstraer la acción de liberar el punto después de restaurarlo si el programador no quiere que siga marcado.
Última edición por Al González fecha: 11-09-2007 a las 22:14:13.
|