comparison Framework/MySQL/MySQLTransaction.cpp @ 217:ee5858d438dc

TransactionType given to MySQLTransaction constructor
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 26 Mar 2021 18:02:34 +0100
parents ab96698c73a3
children d1b124d116c1
comparison
equal deleted inserted replaced
216:fbb52129158a 217:ee5858d438dc
29 29
30 #include <memory> 30 #include <memory>
31 31
32 namespace OrthancDatabases 32 namespace OrthancDatabases
33 { 33 {
34 MySQLTransaction::MySQLTransaction(MySQLDatabase& db) : 34 MySQLTransaction::MySQLTransaction(MySQLDatabase& db,
35 TransactionType type) :
35 db_(db), 36 db_(db),
36 active_(false) 37 active_(false)
37 { 38 {
38 db_.Execute("START TRANSACTION", false); 39 switch (type)
40 {
41 case TransactionType_ReadWrite:
42 db_.Execute("START TRANSACTION READ WRITE", false);
43 break;
44
45 case TransactionType_ReadOnly:
46 db_.Execute("START TRANSACTION READ ONLY", false);
47 break;
48
49 default:
50 throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange);
51 }
52
39 active_ = true; 53 active_ = true;
40 } 54 }
41 55
42 56
43 MySQLTransaction::~MySQLTransaction() 57 MySQLTransaction::~MySQLTransaction()