SQLite Forum

"disk is full" error only once per connection?
Login
"disk is full" is not a recoverable error, because SQLite can no longer keep track of anything by writing to a journal file.  You can't do anything using the SQLite API to recover from it so the SQLite API will no longer work in a dependable way.  This has always been the case.  Quitting once you get a "disk is full" error will lead to a database which can be recovered (i.e. not corrupt) once you have freed up some space and restarted the program.

If your application has to work under situations where a SQLite database volume may fill up, guard against it outside SQLite.  For instance, you might run a routine once a minute (hour ?) which checks to see whether there is less than a megabyte free on the drive.  If that happens, terminate the app or delete old files accordingly, then check again to see whether it's safe to continue.  Do it to *prevent* SQLite getting a "disk is full" error.