Mercurial > hg > orthanc
comparison OrthancServer/Sources/Database/StatelessDatabaseOperations.h @ 5522:dd430a1b21fe pg-transactions
simplifying StatelessDatabaseOperations
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 30 Jan 2024 09:41:06 +0100 |
parents | 0d433132b249 |
children | 28cc06e4859a 12d8a1a266e9 c1ed59a5bdc2 |
comparison
equal
deleted
inserted
replaced
5521:0d0f8788884a | 5522:dd430a1b21fe |
---|---|
174 | 174 |
175 class ReadOnlyTransaction : public boost::noncopyable | 175 class ReadOnlyTransaction : public boost::noncopyable |
176 { | 176 { |
177 private: | 177 private: |
178 ITransactionContext& context_; | 178 ITransactionContext& context_; |
179 const IDatabaseWrapper::Capabilities& dbCapabilities_; | |
180 | 179 |
181 protected: | 180 protected: |
182 IDatabaseWrapper::ITransaction& transaction_; | 181 IDatabaseWrapper::ITransaction& transaction_; |
183 | 182 |
184 public: | 183 public: |
185 explicit ReadOnlyTransaction(IDatabaseWrapper::ITransaction& transaction, | 184 explicit ReadOnlyTransaction(IDatabaseWrapper::ITransaction& transaction, |
186 ITransactionContext& context, | 185 ITransactionContext& context) : |
187 const IDatabaseWrapper::Capabilities& dbCapabilities) : | |
188 context_(context), | 186 context_(context), |
189 dbCapabilities_(dbCapabilities), | |
190 transaction_(transaction) | 187 transaction_(transaction) |
191 { | 188 { |
192 } | 189 } |
193 | 190 |
194 ITransactionContext& GetTransactionContext() | 191 ITransactionContext& GetTransactionContext() |
195 { | 192 { |
196 return context_; | 193 return context_; |
197 } | |
198 | |
199 const IDatabaseWrapper::Capabilities& GetDatabaseCapabilities() const | |
200 { | |
201 return dbCapabilities_; | |
202 } | 194 } |
203 | 195 |
204 /** | 196 /** |
205 * Higher-level constructions | 197 * Higher-level constructions |
206 **/ | 198 **/ |
389 | 381 |
390 class ReadWriteTransaction : public ReadOnlyTransaction | 382 class ReadWriteTransaction : public ReadOnlyTransaction |
391 { | 383 { |
392 public: | 384 public: |
393 ReadWriteTransaction(IDatabaseWrapper::ITransaction& transaction, | 385 ReadWriteTransaction(IDatabaseWrapper::ITransaction& transaction, |
394 ITransactionContext& context, | 386 ITransactionContext& context) : |
395 const IDatabaseWrapper::Capabilities& dbCapabilities) : | 387 ReadOnlyTransaction(transaction, context) |
396 ReadOnlyTransaction(transaction, context, dbCapabilities) | |
397 { | 388 { |
398 } | 389 } |
399 | 390 |
400 void AddAttachment(int64_t id, | 391 void AddAttachment(int64_t id, |
401 const FileInfo& attachment, | 392 const FileInfo& attachment, |