Mercurial > hg > orthanc-databases
diff 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 |
line wrap: on
line diff
--- a/Framework/MySQL/MySQLTransaction.cpp Fri Mar 26 17:47:56 2021 +0100 +++ b/Framework/MySQL/MySQLTransaction.cpp Fri Mar 26 18:02:34 2021 +0100 @@ -31,11 +31,25 @@ namespace OrthancDatabases { - MySQLTransaction::MySQLTransaction(MySQLDatabase& db) : + MySQLTransaction::MySQLTransaction(MySQLDatabase& db, + TransactionType type) : db_(db), active_(false) { - db_.Execute("START TRANSACTION", false); + switch (type) + { + case TransactionType_ReadWrite: + db_.Execute("START TRANSACTION READ WRITE", false); + break; + + case TransactionType_ReadOnly: + db_.Execute("START TRANSACTION READ ONLY", false); + break; + + default: + throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange); + } + active_ = true; }