Description
Unfortunately the DRAFT https://www.w3.org/TR/webdatabase/ does not explicitly deal with manual VACUUM vs AUTO-VACUUM. The following sections may be relevant:
https://www.w3.org/TR/webdatabase/#sensitivity-of-data:
[...] user agents should ensure that when deleting data, it is promptly deleted from the underlying storage.
https://www.w3.org/TR/webdatabase/#disk-space:
User agents should limit the total amount of space allowed for databases.
I found the following resources from a quick search:
- http://stackoverflow.com/questions/6763981/how-to-compress-websql-database-from-javascript
- https://bugs.chromium.org/p/chromium/issues/detail?id=122522
- http://lifehacker.com/5344418/make-firefox-faster-by-vacuuming-your-database
- db.remove not decreasing file size of Cordova SQLite DB pouchdb/pouchdb#3725
The following resources describe the various AUTO-VACUUM options:
- https://www.sqlite.org/pragma.html#pragma_auto_vacuum
- https://blogs.gnome.org/jnelson/2015/01/06/sqlite-vacuum-and-auto_vacuum/
I would personally favor FULL AUTO-VACUUM since it seems to avoid indeterminate interruptions and (along with #645: secure delete) keep things cleaned up in general.
Another idea would be to make this an openDatabase option.