You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Urs Zimmermann (Updated) (JIRA)" <ji...@apache.org> on 2012/03/21 09:31:39 UTC

[jira] [Updated] (CB-363) SQLite database does not grow on Android

     [ https://issues.apache.org/jira/browse/CB-363?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Urs Zimmermann updated CB-363:
------------------------------

    Description: 
Description
------------------
If I create a database with the PhoneGap API (1.3.0 or higher) I can set an initial size. If I insert data, the size of the database file should grow if there is not enough space for all the inserted data. This is not working properly on Android, and I will get the following error:

error.code: 4
error.message: there was not enough remaining storage space, or the storage quota was reached and the user declined to allow more space

When I close the app (kill the process) and reopen it, the database file is grown by ~1MB and I can insert data up to that size.

I tried inserting all of the data in one single transaction, or with every single insert being one transaction, the result is the same. Changing the database size after creation has no effect.

Steps to Reproduce
------------------
Create a Database with the phonegap API using

var db = window.openDatabase("test", "1.0", "Test DB", 200000); 

200000 being the size of the database, as used in the (former) API examples. 

Expected Results
------------------
The database is created and I can read from and write to.
The size of the database file should grow, so all the data can get inserted.

Actual Results
------------------
The database is created and I can read from and write to.
When I insert data, the initial size seems to be the upper limit for the size of the db (filesize of the .db file)
When this size is reached and I try to insert data, phonegap aborts with the error described above.

This only happens on Android, device or simulator
For iOS the database seems to grow "on the fly"


  was:
<b>Description</b<

If I create a database with the PhoneGap API (1.3.0 or higher) I can set an initial size. If I insert data, the size of the database file should grow if there is not enough space for all the inserted data. This is not working properly on Android, and I will get the following error:

error.code: 4
error.message: there was not enough remaining storage space, or the storage quota was reached and the user declined to allow more space

When I close the app (kill the process) and reopen it, the database file is grown by ~1MB and I can insert data up to that size.

I tried inserting all of the data in one single transaction, or with every single insert being one transaction, the result is the same. Changing the database size after creation has no effect.

<b>Steps to Reproduce</b>
Create a Database with the phonegap API using

var db = window.openDatabase("test", "1.0", "Test DB", 200000); 

200000 being the size of the database, as used in the (former) API examples. 

<b>Expected Results</b>
The database is created and I can read from and write to.
The size of the database file should grow, so all the data can get inserted.

<b>Actual Results</b>
The database is created and I can read from and write to.
When I insert data, the initial size seems to be the upper limit for the size of the db (filesize of the .db file)
When this size is reached and I try to insert data, phonegap aborts with the error described above.

This only happens on Android, device or simulator
For iOS the database seems to grow "on the fly"


    
> SQLite database does not grow on Android
> ----------------------------------------
>
>                 Key: CB-363
>                 URL: https://issues.apache.org/jira/browse/CB-363
>             Project: Apache Callback
>          Issue Type: Bug
>          Components: Android
>    Affects Versions: 1.3.0, 1.4.0, 1.5.0
>         Environment: Android Simulator, 
> Android 2.2+
> PhoneGap (any version)
>            Reporter: Urs Zimmermann
>            Assignee: Joe Bowser
>            Priority: Blocker
>              Labels: android, phonegap, sqldatabase
>             Fix For: 1.6.0
>
>
> Description
> ------------------
> If I create a database with the PhoneGap API (1.3.0 or higher) I can set an initial size. If I insert data, the size of the database file should grow if there is not enough space for all the inserted data. This is not working properly on Android, and I will get the following error:
> error.code: 4
> error.message: there was not enough remaining storage space, or the storage quota was reached and the user declined to allow more space
> When I close the app (kill the process) and reopen it, the database file is grown by ~1MB and I can insert data up to that size.
> I tried inserting all of the data in one single transaction, or with every single insert being one transaction, the result is the same. Changing the database size after creation has no effect.
> Steps to Reproduce
> ------------------
> Create a Database with the phonegap API using
> var db = window.openDatabase("test", "1.0", "Test DB", 200000); 
> 200000 being the size of the database, as used in the (former) API examples. 
> Expected Results
> ------------------
> The database is created and I can read from and write to.
> The size of the database file should grow, so all the data can get inserted.
> Actual Results
> ------------------
> The database is created and I can read from and write to.
> When I insert data, the initial size seems to be the upper limit for the size of the db (filesize of the .db file)
> When this size is reached and I try to insert data, phonegap aborts with the error described above.
> This only happens on Android, device or simulator
> For iOS the database seems to grow "on the fly"

--
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