From b38a01bdeadcd47ac1aa2b7e471e85fd4d042217 Mon Sep 17 00:00:00 2001 From: An Tao Date: Mon, 23 Sep 2019 08:59:10 +0800 Subject: [PATCH] Fix a sqlite3 bug when some SQL errors occur (#252) --- orm_lib/src/sqlite3_impl/Sqlite3Connection.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/orm_lib/src/sqlite3_impl/Sqlite3Connection.cc b/orm_lib/src/sqlite3_impl/Sqlite3Connection.cc index 01dc7c08..b4b77156 100644 --- a/orm_lib/src/sqlite3_impl/Sqlite3Connection.cc +++ b/orm_lib/src/sqlite3_impl/Sqlite3Connection.cc @@ -152,6 +152,7 @@ void Sqlite3Connection::execSqlInQueue( if (ret != SQLITE_OK || !stmtPtr) { onError(sql, exceptCallback); + _idleCb(); return; } if (!std::all_of(remaining, sql.data() + sql.size(), [](char ch) { @@ -169,6 +170,7 @@ void Sqlite3Connection::execSqlInQueue( auto exceptPtr = std::current_exception(); exceptCallback(exceptPtr); } + _idleCb(); return; } } @@ -214,6 +216,7 @@ void Sqlite3Connection::execSqlInQueue( { onError(sql, exceptCallback); sqlite3_reset(stmt); + _idleCb(); return; } } @@ -253,6 +256,7 @@ void Sqlite3Connection::execSqlInQueue( { onError(sql, exceptCallback); sqlite3_reset(stmt); + _idleCb(); return; } if (paraNum > 0 && newStmt)