Aren't there different levels of backwards compatibility in play here?
Backwards compatibility of the API and making sure begin/commit/rollback
processes work the same with old and new versions is not the same as having
the ability to take a crashed SQLite db including it's rollback journal and
recover it using an older version of SQLite.  

Personally I don't see why the rollback journal, which is by definition a
very temporary file, needs to be backwards compatible such that the journal
created on a new version of SQLite can be rolled back using an old version
of SQLite.  Under what circumstances would an older version of SQLite be
used to rollback a newer journal?

If backwards compatibility of the journal is required, then couldn't it be
implemented in a way that a "master" journal is created for the entire
transaction (including nested transactions) so if the db crashes and an old
version of sqlite is used to recover it only the master journal is visible
and thus the entire transaction is rolled back?

Thanks,

Sam



-------------------------------------------
We're Hiring! Seeking a passionate developer to join our team building
products. Position is in the Washington D.C. metro area. If interested
contact [EMAIL PROTECTED]
 
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Monday, April 09, 2007 9:52 PM
To: sqlite-users@sqlite.org
Subject: Re: [sqlite] SQLite and nested transactions

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]
-----------------------------------------------------------------------------

Reply via email to