All: I need to check a database for readability before my application starts. I was originally going to keep an MD5 on the database and check it each time at powerup. This seems to take a great deal of time so instead I thought abou having the database do an integrity check at powerup, however this too takes a great deal of time. My last idea was to issue a set of simple select statements against the database and check if they are successful. I realize this doesnt 'guarantee' my data is fine like an MD5 would, nor does it really validate the integrity of the database like an integrity check would.... but can I assume to some degree of comfort that if these select statements succeed then I can access these tables in the database error free?
I ran some test cases (I know you guys and gals like actual numbers and not theory), and came up with the following sqlite3 'pragma integrity_check' real 0m 11.20s user 0m 1.85s sys 0m 8.70s md5sum -c ... real 0m 10.07s user 0m 1.32s sys 0m 8.16s sqlite3 'SELECT STATEMENTS FROM IMPORTANT TABLES' real 0m 2.34s user 0m 0.19s sys 0m 1.74s Now for clarity.... The database contains AV metadata and data. I have tables such as ImageData, ImageDescription, AudioData, and so on. I also have tables that are not 'important' (suffice it to say, I wont access them during runtime under normal conditions). I care about the AV data being accessible.... I am optimistically assuming that if the data is corrupt, the image will still display (with perhaps some bad pixels) and / or the audio has some unwanted clicks or pops. The big question.... Using a group of select statements to check the database for accessibility seem reasonable? Or am I taking a large gamble doing so? _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users