Nikki Locke <[EMAIL PROTECTED]> wrote: > I am running sqlite 3.3.5 on Microsoft Windows, and sqlite 3.2.2 on CentOS > (because that's the version that comes with CentOS). > > Should the data files produced by these two versions be binary compatible? > I.e. can I transfer the db files between the two machines and continue to > use them with the two different sqlite3 versions? > > I ask because I think I have occasionally seen records "disappear" when > looking at a 3.2.2 data file using 3.3.5. > > If they are not binary compatible, I presume I will have to downgrade the > Windows version to 3.2.2, as I expect upgrading the CentOS one will break > all the other CentOS applications which are already using databases in > 3.2.2 format. > > If the two versions are supposed to be binary compatible, could it be > something to do with a Windows/Linux difference? > > If there shouldn't be any incompatilibity, I will put some effort into > reproducing the problem, and reporting it through the usual channels.
3.2.2 will refuse to read a database file created by 3.3.5 unless version 3.3.5 was compiled with -DSQLITE_DEFAULT_FILE_FORMAT=1 or the "PRAGMA legacy_file_format=ON" pragma is used prior to creating the database. But if the database is created in a way that 3.2.2 can read it, there should be no incompatibilities between 3.3.5 and 3.2.2 (or any other SQLite version, for that matter). Anything created by version 3.2.2 should always be readable by 3.3.5, regardless. -- D. Richard Hipp <[EMAIL PROTECTED]>