From: <car...@te...> - 2002-11-22 11:55:07
|
Hello: > But as far as I know, savepoint and retaining transactions are not the > same. > If you commit retaining, you have no possibility to rollback what you have > committed, only the transaction environment (=the snapshot of row > versions) > remains within the new transaction. > > A savepoint is a point within an overall transaction (I don't know the > exact > implementation in firebird 1.5, so I speak with the MSSQLServer > knowledge), > you can > BeginTransaction("Point0"); > DBOps... > Save("Point1"); > DBOps... > Save("Point2"); > DBOps... > Rollback("Point1"); // Cancels all DBOps made since Save("Point1") > DBOps... > Save("OtherThings"); > Rollback("Point0"); // Cancels complete transaction > > So if firebird 1.5 has savepoints, perhaps we need both methods. > To propose some good method names and signatures I have to look at > firebird > 1.5 docu/source to inform myself about the savepoints implemented there. > Well, i´m going to update my changes of thisto the CVS, i think this can be a good starting point for make a definitive implementation for transaction management, and i´m going to ask on firebird-devel how savepoints work on firebird 1.5 compared with yopur Sql Server example. Thanks for your feedback on this issue :) Best regards Carlos Guzmán Álvarez Vigo-Spain |