On 29 Oct 2016, at 6:32pm, Yuri <y...@rawbw.com> wrote:

> It does check error codes, and it prints warnings, but errors don't fail the 
> overall app. It will keep updating/inserting again and again later.

To minimise problems like the one you reported it needs to quit the program 
(preferably with a non-zero exit code) when it gets any unexpected result.

I'm not certain that this would have completely prevented the problem you 
reported, but repeated attempts to make changes to a database with no free 
space aren't going to lead to anything good.

Another factor is whether you had free space when you tried to open the 
database after the faults.  Each time you use the SQLite API to open a database 
SQLite checks for to see if it was closed correctly last time.  If not, it 
tries to recover an uncorrupted database.  [1] But if the disk is full this 
will fail.  Though it shouldn't lead to further corruption.

[1] I don't know whether it checks to see whether there is space free first.

Simon.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to