View Single Post
Old 02-28-2022, 03:55 AM   #456
davidfor
Grand Sorcerer
davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.
 
Posts: 24,905
Karma: 47303824
Join Date: Jul 2011
Location: Sydney, Australia
Device: Kobo:Touch,Glo, AuraH2O, GloHD,AuraONE, ClaraHD, Libra H2O; tolinoepos
Quote:
Originally Posted by compurandom View Post
That's good to know, but I don't think it is enough.

I think sometimes the database corruption leaves the data in the database wrong, but the database itself is OK. The usual symptom I see is that overdrive stops working and expires all my books. However, I've seen stranger things like phantom books that can't be deleted. I don't know if sqlite has an internal dirty flag or something that would help.
That's a completely different issue. That is data integrity rather than the low-level database integrity. The check that is being done is a low level test of whether the database file is constructed properly. There is no attempt to validate that the data in the database is consistent. And honestly, there is no practical way to do it. Or at least in any reasonable amount of time.

If there are data issues, then it is usually a because of a bug in the application. Probably something not writing the all of the data. Problems like what you mention could be signs of corrupt databases. Or they could be that the data memory does not match what is in the database. In that case, when the attempt is made to update the database, it might fail and what happens then depends on how errors are handled. Kobo appears to ignore these sort of errors to and keep working using the in memory data. Which is why we see problems with losing data after a restart.
davidfor is offline   Reply With Quote