Mercurial > hg > orthanc-databases
comparison Framework/Common/DatabaseManager.cpp @ 207:d9ef3f16e6a2
wrapping transactions in API v3
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 19 Mar 2021 15:11:45 +0100 |
parents | 3236894320d6 |
children | b40b30075c51 |
comparison
equal
deleted
inserted
replaced
206:6dcf57074dd4 | 207:d9ef3f16e6a2 |
---|---|
210 | 210 |
211 dialect_ = factory->GetDialect(); | 211 dialect_ = factory->GetDialect(); |
212 } | 212 } |
213 | 213 |
214 | 214 |
215 void DatabaseManager::StartTransaction() | 215 void DatabaseManager::StartTransaction(TransactionType type) |
216 { | 216 { |
217 // TODO - Deal with TransactionType | |
218 | |
217 boost::recursive_mutex::scoped_lock lock(mutex_); | 219 boost::recursive_mutex::scoped_lock lock(mutex_); |
218 | 220 |
219 try | 221 try |
220 { | 222 { |
221 if (transaction_.get() != NULL) | 223 if (transaction_.get() != NULL) |
282 } | 284 } |
283 } | 285 } |
284 } | 286 } |
285 | 287 |
286 | 288 |
287 DatabaseManager::Transaction::Transaction(DatabaseManager& manager) : | 289 DatabaseManager::Transaction::Transaction(DatabaseManager& manager, |
290 TransactionType type) : | |
288 lock_(manager.mutex_), | 291 lock_(manager.mutex_), |
289 manager_(manager), | 292 manager_(manager), |
290 database_(manager.GetDatabase()), | 293 database_(manager.GetDatabase()), |
291 committed_(false) | 294 committed_(false) |
292 { | 295 { |
293 manager_.StartTransaction(); | 296 manager_.StartTransaction(type); |
294 } | 297 } |
295 | 298 |
296 | 299 |
297 DatabaseManager::Transaction::~Transaction() | 300 DatabaseManager::Transaction::~Transaction() |
298 { | 301 { |