On 12/30/16, Bennett Haselton <bennetthasel...@gmail.com> wrote: > My other suggestion was that if you open a database file with a > *newer* version of the library than the one that was used to create it, > you can also warn, "This file was created using SQLite version a.b.c, > but you're attempting to save it in format SQLite version x.y.z. If you > save changes to this file, it may no longer be compatible with the > program that generated it."
SQLite doesn't work that way. It preserves the older format, unless you take specific steps to change it. For example, if you create a partial index, then the database will subsequently only work for versions of SQLite that support partial indexes (3.8.0 and later, 2013-08-26). Or if you turn on WAL mode, then the file will only be readable by 3.7.0 and later. But as long as you don't create new objects that are unsupported by older versions, a database written by SQLite 3.16.0 should be readable and writable by SQLite 3.0.0. When you create a new database using SQLite 3.16.0, if you do "PRAGMA legacy_file_format=ON;" as the very first statement, and if you avoid language features that were missing from version 3.0.0 (such as partial indexes and/or WAL mode), then your new database will be readable and writable by SQLite version 3.0.0, from 2004-06-18. -- D. Richard Hipp d...@sqlite.org _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users