comparison PostgreSQL/UnitTests/PostgreSQLTests.cpp @ 215:b40b30075c51

added TransactionType_Implicit
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 26 Mar 2021 17:32:29 +0100
parents ab96698c73a3
children fbb52129158a
comparison
equal deleted inserted replaced
214:ab96698c73a3 215:b40b30075c51
404 404
405 ASSERT_FALSE(db->DoesTableExist("test")); 405 ASSERT_FALSE(db->DoesTableExist("test"));
406 ASSERT_FALSE(db->DoesTableExist("test2")); 406 ASSERT_FALSE(db->DoesTableExist("test2"));
407 407
408 { 408 {
409 std::unique_ptr<OrthancDatabases::ITransaction> t(db->CreateTransaction(false)); 409 std::unique_ptr<OrthancDatabases::ITransaction> t(db->CreateTransaction(TransactionType_ReadWrite));
410 ASSERT_FALSE(t->IsImplicit()); 410 ASSERT_FALSE(t->IsImplicit());
411 } 411 }
412 412
413 { 413 {
414 Query query("CREATE TABLE test(id INT)", false); 414 Query query("CREATE TABLE test(id INT)", false);
415 std::unique_ptr<IPrecompiledStatement> s(db->Compile(query)); 415 std::unique_ptr<IPrecompiledStatement> s(db->Compile(query));
416 416
417 std::unique_ptr<ITransaction> t(db->CreateTransaction(true)); 417 std::unique_ptr<ITransaction> t(db->CreateTransaction(TransactionType_Implicit));
418 ASSERT_TRUE(t->IsImplicit()); 418 ASSERT_TRUE(t->IsImplicit());
419 ASSERT_THROW(t->Commit(), Orthanc::OrthancException); 419 ASSERT_THROW(t->Commit(), Orthanc::OrthancException);
420 ASSERT_THROW(t->Rollback(), Orthanc::OrthancException); 420 ASSERT_THROW(t->Rollback(), Orthanc::OrthancException);
421 421
422 Dictionary args; 422 Dictionary args;
430 { 430 {
431 // An implicit transaction does not need to be explicitely committed 431 // An implicit transaction does not need to be explicitely committed
432 Query query("CREATE TABLE test2(id INT)", false); 432 Query query("CREATE TABLE test2(id INT)", false);
433 std::unique_ptr<IPrecompiledStatement> s(db->Compile(query)); 433 std::unique_ptr<IPrecompiledStatement> s(db->Compile(query));
434 434
435 std::unique_ptr<ITransaction> t(db->CreateTransaction(true)); 435 std::unique_ptr<ITransaction> t(db->CreateTransaction(TransactionType_Implicit));
436 436
437 Dictionary args; 437 Dictionary args;
438 t->ExecuteWithoutResult(*s, args); 438 t->ExecuteWithoutResult(*s, args);
439 } 439 }
440 440