-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Alexey Pechnikov wrote: > Is any way to repair corrupted database?
- From a theoretical point of view the only way to repair a corrupted database is if there are multiple redundant copies of data or of generating that data. Since SQLite doesn't do that (exception: indices can be regenerated from uncorrupted data) you are mainly out of luck. Instead SQLite takes the approach of trying to prevent corruption in the first place. You can address this problem yourself. Write your own custom VFS layer where you can store multiple redundant copies, checksums or whatever else you are trying to defend against. You can also use it to verify that SQLite handles situations well, in addition to your own code. (For example make a write routine emulate disk full). [BTW the SQLite test suite is full of tests like this anyway] It is also worth noting that unless you are running on mainframes or "server" hardware, other corruption will be ignored. For example commodity machines don't have error checking or correcting RAM, checking CPUs, checking hard disk controllers. The good news is that it is slowly coming such as end to end checksums in ZFS, checksums in the SATA spec etc. Roger -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFIiRLmmOOfHg372QQRAvh+AKCfOBIFCNDFt+3pPjR0dMAm+nMcggCgwrkb Z3HWu8qk90LKDD5rgVO9kZs= =ikGn -----END PGP SIGNATURE----- _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users