diff --git a/CHANGES.md b/CHANGES.md index 4cdc8195e..ea0a1de7f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,9 @@ # Changes +## cordova-sqlite-storage 2.1.4-fixdev01 + +- android.database end transaction if active before closing + ## cordova-sqlite-storage 2.1.3 ##### cordova-sqlite-legacy-core 1.0.5 diff --git a/package.json b/package.json index 7d4d576ea..d4642a500 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cordova-sqlite-storage", - "version": "2.1.3", + "version": "2.1.4-fixdev01", "description": "Native interface to SQLite for PhoneGap/Cordova", "cordova": { "id": "cordova-sqlite-storage", diff --git a/plugin.xml b/plugin.xml index e7cd7d0c2..1310e54dc 100644 --- a/plugin.xml +++ b/plugin.xml @@ -2,7 +2,7 @@ + version="2.1.4-fixdev01"> Cordova sqlite storage plugin diff --git a/src/android/io/sqlc/SQLiteAndroidDatabase.java b/src/android/io/sqlc/SQLiteAndroidDatabase.java index 28567b9f6..7d3a1e913 100644 --- a/src/android/io/sqlc/SQLiteAndroidDatabase.java +++ b/src/android/io/sqlc/SQLiteAndroidDatabase.java @@ -56,6 +56,8 @@ class SQLiteAndroidDatabase SQLiteDatabase mydb; + boolean isTransactionActive = false; + /** * NOTE: Using default constructor, no explicit constructor. */ @@ -75,6 +77,10 @@ void open(File dbfile) throws Exception { */ void closeDatabaseNow() { if (mydb != null) { + if (isTransactionActive) { + mydb.endTransaction(); + isTransactionActive = false; + } mydb.close(); mydb = null; } @@ -227,6 +233,7 @@ private void executeSqlBatchStatement(String query, JSONArray json_params, JSONA needRawQuery = false; try { mydb.beginTransaction(); + isTransactionActive = true; queryResult = new JSONObject(); queryResult.put("rowsAffected", 0); @@ -242,6 +249,7 @@ private void executeSqlBatchStatement(String query, JSONArray json_params, JSONA try { mydb.setTransactionSuccessful(); mydb.endTransaction(); + isTransactionActive = false; queryResult = new JSONObject(); queryResult.put("rowsAffected", 0); @@ -256,6 +264,7 @@ private void executeSqlBatchStatement(String query, JSONArray json_params, JSONA needRawQuery = false; try { mydb.endTransaction(); + isTransactionActive = false; queryResult = new JSONObject(); queryResult.put("rowsAffected", 0);