diff --git a/src/libs/sqlite/sqlitebasestatement.h b/src/libs/sqlite/sqlitebasestatement.h index 0b5d6a15a46..b5d1ca600f7 100644 --- a/src/libs/sqlite/sqlitebasestatement.h +++ b/src/libs/sqlite/sqlitebasestatement.h @@ -576,7 +576,7 @@ public: const source_location &sourceLocation, const QueryTypes &...queryValues) : BaseSqliteResultRange{statement, sourceLocation} - , m_transaction{statement.database(), sourceLocation} + , m_transaction{statement.database()} , resetter{&statement} , sourceLocation{sourceLocation} { @@ -586,14 +586,10 @@ public: ~SqliteResultRangeWithTransaction() { resetter.reset(); - - if (!std::uncaught_exceptions()) { - m_transaction.commit(sourceLocation); - } } private: - DeferredTransaction m_transaction; + ImplicitTransaction m_transaction; Resetter resetter; source_location sourceLocation; }; diff --git a/tests/unit/tests/unittests/sqlite/sqlitestatement-test.cpp b/tests/unit/tests/unittests/sqlite/sqlitestatement-test.cpp index 7d54ba7ca10..ebd38f7ea7e 100644 --- a/tests/unit/tests/unittests/sqlite/sqlitestatement-test.cpp +++ b/tests/unit/tests/unittests/sqlite/sqlitestatement-test.cpp @@ -1385,9 +1385,7 @@ TEST_F(SqliteStatement, get_range_with_transaction_without_arguments_calls) MockSqliteStatement<1, 0> mockStatement{databaseMock}; EXPECT_CALL(databaseMock, lock()); - EXPECT_CALL(databaseMock, deferredBegin(_)); EXPECT_CALL(mockStatement, reset()); - EXPECT_CALL(databaseMock, commit(_)); EXPECT_CALL(databaseMock, unlock()); mockStatement.rangeWithTransaction(); @@ -1421,9 +1419,7 @@ TEST_F(SqliteStatement, get_range_with_transaction_without_arguments_calls_reset ON_CALL(mockStatement, next(_)).WillByDefault(Throw(Sqlite::StatementHasError(""))); EXPECT_CALL(databaseMock, lock()); - EXPECT_CALL(databaseMock, deferredBegin(_)); EXPECT_CALL(mockStatement, reset()); - EXPECT_CALL(databaseMock, rollback(_)); EXPECT_CALL(databaseMock, unlock()); EXPECT_THROW(