Don't throw if sqlite3_finalize returns an error.
Change-Id: Ibcc772ad5343dd241ed9dc492e4d838e1ab962d4
diff --git a/core/jni/android_database_SQLiteConnection.cpp b/core/jni/android_database_SQLiteConnection.cpp
index 80ecf2f..f47dc8a 100644
--- a/core/jni/android_database_SQLiteConnection.cpp
+++ b/core/jni/android_database_SQLiteConnection.cpp
@@ -426,11 +426,11 @@
SQLiteConnection* connection = reinterpret_cast<SQLiteConnection*>(connectionPtr);
sqlite3_stmt* statement = reinterpret_cast<sqlite3_stmt*>(statementPtr);
+ // We ignore the result of sqlite3_finalize because it is really telling us about
+ // whether any errors occurred while executing the statement. The statement itself
+ // is always finalized regardless.
ALOGV("Finalized statement %p on connection %p", statement, connection->db);
- int err = sqlite3_finalize(statement);
- if (err != SQLITE_OK) {
- throw_sqlite3_exception(env, connection->db, NULL);
- }
+ sqlite3_finalize(statement);
}
static jint nativeGetParameterCount(JNIEnv* env, jclass clazz, jint connectionPtr,