Neil Harding created CB-684:
-------------------------------
Summary: WebKit database restore on iOS5.1 corrupts large databases
Key: CB-684
URL: https://issues.apache.org/jira/browse/CB-684
Project: Apache Cordova
Issue Type: Bug
Components: iOS
Affects Versions: 1.6.1
Environment: iOS5.1
Reporter: Neil Harding
Assignee: Shazron Abdullah
Priority: Critical
The backup and restore process for WebKit databases on iOS5.1 to copy databases
from the /library/caches folder to /documents/backup is corrupting large
databases.
I have a 1Gb sqllite databases, this is is because there will be a lot of data
in the app and to get around the 5mb quota limit for Websql databases on iOS a
large pre populated .db file is copied over to /library/caches on app start up
in didFinishLaunchingWithOptions if it doesn't already exist. This 'reserves'
the footprint of the database as sqlite doesn't unallocated space when deleting
rows, the data is cleared out and the app can start off without any quota
errors.
When the app terminates and the backup process runs to copy the .db file to
/documents/backup it doesn't complete the process successfully (possibly killed
by iOS before the file is fully written?) and the resulting file .db is much
smaller (~200mb) and corrupt.
When the app runs next time the .db is copied from /documents/backup to
/library/caches ok, but the damage is already done.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira