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