summaryrefslogtreecommitdiffstats
path: root/core/jni/android_database_SQLiteDatabase.cpp
diff options
context:
space:
mode:
authorVasu Nori <vnori@google.com>2010-03-05 22:12:51 -0800
committerVasu Nori <vnori@google.com>2010-03-05 22:12:51 -0800
commit78f307d229466bb41c0260d1092dcea82a7bb5f8 (patch)
treecc3ad99d8856810bf9ee37dc36dad6c6c2af9450 /core/jni/android_database_SQLiteDatabase.cpp
parentc48aff6531834d8366027d32be22e6e40b976eec (diff)
downloadframeworks_base-78f307d229466bb41c0260d1092dcea82a7bb5f8.zip
frameworks_base-78f307d229466bb41c0260d1092dcea82a7bb5f8.tar.gz
frameworks_base-78f307d229466bb41c0260d1092dcea82a7bb5f8.tar.bz2
rollback AFTER commit causes warning message from sqlite bug:2486731
Diffstat (limited to 'core/jni/android_database_SQLiteDatabase.cpp')
-rw-r--r--core/jni/android_database_SQLiteDatabase.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/core/jni/android_database_SQLiteDatabase.cpp b/core/jni/android_database_SQLiteDatabase.cpp
index bd55e83..44e091d 100644
--- a/core/jni/android_database_SQLiteDatabase.cpp
+++ b/core/jni/android_database_SQLiteDatabase.cpp
@@ -367,7 +367,7 @@ static void native_setLocale(JNIEnv* env, jobject object, jstring localeString,
if (err != SQLITE_OK) {
LOGE("register_localized_collators() failed setting locale\n");
throw_sqlite3_exception(env, handle);
- goto done;
+ goto rollback;
}
err = sqlite3_exec(handle, "DELETE FROM " ANDROID_TABLE, NULL, NULL, NULL);
@@ -415,7 +415,9 @@ static void native_setLocale(JNIEnv* env, jobject object, jstring localeString,
}
rollback:
- sqlite3_exec(handle, "ROLLBACK TRANSACTION", NULL, NULL, NULL);
+ if (err != SQLITE_OK) {
+ sqlite3_exec(handle, "ROLLBACK TRANSACTION", NULL, NULL, NULL);
+ }
done:
if (locale8 != NULL) env->ReleaseStringUTFChars(localeString, locale8);