Hello C.Peachment, >1. SQLiteSpy is able to read and work with database files >formatted by versions of Sqlite earlier than 3.3.6 but it also >appears to change the database format rather than leave >it as it was found. > >I use php version 5.1.4 including Sqlite version 3.2.8. >There is a database format change in later versions of >Sqlite that means php is NOT able to read these later >versions.
SQLiteSpy does not normally change the database format, just as SQLite does not. However, starting with SQLite 3.3.0, the file format changed slightly. This is no problem until you run the VACUUM command, which I suppose you did? VACUUM causes SQLite (and therefore SQLiteSpy as well) to rewrite the database and to update it to the latest file format. There are two solutions to your problem: 1. Don't run VACUUM from SQLite 3.3.0 or later ;=) 2. Issue PRAGMA legacy_file_format=ON; before running VACUUM. This instructs SQLite to use the pre 3.3.0 file format and maintain compatability with your 3.2.8 PHP version. Btw: The problem applies to all software using SQLite 3.3.0 or later, even to the SQLite command-line application. >2. After executing some sql against a database, the result >set is displayed. If the database is closed after that, the result >set stays on the screen when it might be less confusing if it >disappeared as the database was closed. I felt it would be nice to keep the latest output in case a user wants to compare it with another databases still to be opened. But since some users are just as confused as you are, I will likely change SQLiteSpy to close all SQL statements and result grids if the database is closed. Regards, Ralf