comparison SQLite/UnitTests/UnitTestsMain.cpp @ 215:b40b30075c51

added TransactionType_Implicit
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 26 Mar 2021 17:32:29 +0100
parents 42990b2dd51b
children 94c9908e6aca
comparison
equal deleted inserted replaced
214:ab96698c73a3 215:b40b30075c51
67 67
68 ASSERT_FALSE(db.DoesTableExist("test")); 68 ASSERT_FALSE(db.DoesTableExist("test"));
69 ASSERT_FALSE(db.DoesTableExist("test2")); 69 ASSERT_FALSE(db.DoesTableExist("test2"));
70 70
71 { 71 {
72 std::unique_ptr<OrthancDatabases::ITransaction> t(db.CreateTransaction(false)); 72 std::unique_ptr<OrthancDatabases::ITransaction> t(db.CreateTransaction(OrthancDatabases::TransactionType_ReadWrite));
73 ASSERT_FALSE(t->IsImplicit()); 73 ASSERT_FALSE(t->IsImplicit());
74 } 74 }
75 75
76 { 76 {
77 OrthancDatabases::Query query("CREATE TABLE test(id INT)", false); 77 OrthancDatabases::Query query("CREATE TABLE test(id INT)", false);
78 std::unique_ptr<OrthancDatabases::IPrecompiledStatement> s(db.Compile(query)); 78 std::unique_ptr<OrthancDatabases::IPrecompiledStatement> s(db.Compile(query));
79 79
80 std::unique_ptr<OrthancDatabases::ITransaction> t(db.CreateTransaction(true)); 80 std::unique_ptr<OrthancDatabases::ITransaction> t(db.CreateTransaction(OrthancDatabases::TransactionType_Implicit));
81 ASSERT_TRUE(t->IsImplicit()); 81 ASSERT_TRUE(t->IsImplicit());
82 ASSERT_THROW(t->Commit(), Orthanc::OrthancException); 82 ASSERT_THROW(t->Commit(), Orthanc::OrthancException);
83 ASSERT_THROW(t->Rollback(), Orthanc::OrthancException); 83 ASSERT_THROW(t->Rollback(), Orthanc::OrthancException);
84 84
85 OrthancDatabases::Dictionary args; 85 OrthancDatabases::Dictionary args;
93 { 93 {
94 // An implicit transaction does not need to be explicitely committed 94 // An implicit transaction does not need to be explicitely committed
95 OrthancDatabases::Query query("CREATE TABLE test2(id INT)", false); 95 OrthancDatabases::Query query("CREATE TABLE test2(id INT)", false);
96 std::unique_ptr<OrthancDatabases::IPrecompiledStatement> s(db.Compile(query)); 96 std::unique_ptr<OrthancDatabases::IPrecompiledStatement> s(db.Compile(query));
97 97
98 std::unique_ptr<OrthancDatabases::ITransaction> t(db.CreateTransaction(true)); 98 std::unique_ptr<OrthancDatabases::ITransaction> t(db.CreateTransaction(OrthancDatabases::TransactionType_Implicit));
99 99
100 OrthancDatabases::Dictionary args; 100 OrthancDatabases::Dictionary args;
101 t->ExecuteWithoutResult(*s, args); 101 t->ExecuteWithoutResult(*s, args);
102 } 102 }
103 103