"Michael P. Soulier" <[EMAIL PROTECTED]> wrote:
> I checked with the maintainer, and he used the latest 3.3.10 sqlite. I
> had the 3.3.8 .dll installed, I think. I just upgraded to 3.3.10 and
> it's ok now.
>
> So, how would I work on, say, a couple of different windows boxes and
> linux boxes, all sharing the same sqlite3 database file, but with
> different versions of sqlite3? How does one "convert" between
> versions?
>
Every version of SQLite will read and write databases generated by
all prior version of SQLite going back to 3.0.0. The reverse is
almost true: All historic versions of SQLite starting with version
3.0.0 will read and write databases generated by SQLite 3.3.10.
But there are some issue with forwards compatibility.
* Databases with auto-vacuum enabled cannot be read or
written by SQLite versions prior to 3.0.8.
* If you do ALTER TABLE ADD COLUMN, the database becomes
unreadable to SQLite versions before 3.1.6 until after
you also VACUUM.
* SQLite versions 3.3.0 through 3.3.6 generated an enhanced
database file format by default that could not be read or
written by versions prior to 3.3.0. This caused so much
grief that I reverted to the old file format in 3.3.7.
Versions 3.3.7 and later can read or write both the older
file format and the enchanced file format, but they generate
the older file format by default. The enhanced file format
can be enabled by a pragma. At some point in the future
(after most people have upgraded to 3.3.0 or later) we might
switch back to using the enhanced file format by default.
Auto-vacuum mode was the only substantial change to the database
file format. The other two changes were very, very slight, but
still big enough to throw off older versions of the code. We
work very hard to keep the SQLite database file format stable.
--
D. Richard Hipp <[EMAIL PROTECTED]>
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------