I have an application that was writing to a sqlite db until we ran out
of disk space. The app failed to store data, commit, etc... and then was
killed.
I've got the data moved off to the side after it broke. integrity
check says this:
*** in database main ***
Main freelist: 231854296 of 5 pages missing from overflow list starting at
7184967
On tree page 187114 cell 0: 4 of 5 pages missing from overflow list starting at
5920373
Page 5510841 is never used
Page 5985431 is never used
Page 6127423 is never used
Page 6324952 is never used
Page 7156369 is never used
Page 7179495 is never used
Page 7184966 is never used
Page 7184968 is never used
-- clearly, overflow broke a bit. I can do a count(*) on the table,
but I can't grab all of the rows due to overflow.
It seems a bit... delicate at this point, which leads to two questions:
1. When is it acceptable for sqlite to leave a corrupt database that
can't be used?
2. Is there any way to recover the data that didn't get corrupt (which
should be lots)?
--
Dustin Sallings
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users