Hello,

My sqlite version is 3.5.1 and there are a lot of db corruption in my
system.
Given the following pragma integrity_check output:
> sqlite> pragma integrity_check;
> *** in database main ***
> Page 236054 is never used
> Page 236055 is never used
> rowid 0 missing from index sqlite_autoindex_aggr_log_1
> rowid 17 missing from index sqlite_autoindex_aggr_log_1
> rowid 21 missing from index sqlite_autoindex_aggr_log_1

I try to use UltraEdit to open the these corrupted databases with
hexadecimal mode, and find there are two situations.
1) There are 8 zero bytes in the record.
2) There are 8 zero bytes in the record header.

When using "select * from table" command, it will read data from table
until the zero bytes. And the sqlite of version 3.5.1 can read more
data from corrupted db than version 3.6.20. (When using ".dump"
command, the sqlite of version 3.5.1 will dump almost data from db and
version will dump a little.)
PS: the data is created by sqlite of version 3.5.

I have no idea about what happened. Is there any fix after version
3.5.1 about this situation? or what can I do?
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to