"Igor Tandetnik" <[EMAIL PROTECTED]> wrote: > > I'd still like some limited notion of a savepoint to be implemented, to > support enlisting a SQLite node into a distributed transaction. You see, > three-phase distributed commit protocol requires the possibility of a > "roll-forward" state. In this state, you have successfully made all the > changes to the database, but may still have to explicitly roll back > (because some other node has failed). But, if the application crashes at > this point and is restarted, it must act as if the transaction was in > fact committed - this is referred to as rolling forward. > > It shouldn't be difficult to implement, by setting some special flag in > the journal file. A programmatic rollback would ignore this flag and > proceed as usual. But a recovery procedure would notice the flag and > simply delete the journal file without rolling back. >
It may be more difficult to implement this in a backwards-compatible way such that older versions of SQLite can rollback a journal created by a newer version if it encounters one. -- D. Richard Hipp <[EMAIL PROTECTED]> ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------