Mercurial > hg > orthanc-databases
diff Framework/Common/DatabaseManager.h @ 241:a063bbf10a3e
simplification of class DatabaseManager::Transaction
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 13 Apr 2021 12:07:30 +0200 |
parents | 35598014f140 |
children | 8a4ce70f456a |
line wrap: on
line diff
--- a/Framework/Common/DatabaseManager.h Mon Apr 12 17:07:06 2021 +0200 +++ b/Framework/Common/DatabaseManager.h Tue Apr 13 12:07:30 2021 +0200 @@ -88,13 +88,14 @@ void RollbackTransaction(); - // This class is only used in the "StorageBackend" + // This class is only used in the "StorageBackend" and in + // "IDatabaseBackend::ConfigureDatabase()" class Transaction : public boost::noncopyable { private: DatabaseManager& manager_; IDatabase& database_; - bool committed_; + bool active_; public: explicit Transaction(DatabaseManager& manager, @@ -104,29 +105,16 @@ void Commit(); - DatabaseManager& GetManager() - { - return manager_; - } + void Rollback(); - IDatabase& GetDatabase() - { - return database_; - } - - bool DoesTableExist(const std::string& name) + /** + * WARNING: Don't call "GetDatabaseTransaction().Commit()" and + * "GetDatabaseTransaction().Rollback()", but use the "Commit()" + * and "Rollback()" methods above. + **/ + ITransaction& GetDatabaseTransaction() { - return manager_.GetTransaction().DoesTableExist(name); - } - - bool DoesTriggerExist(const std::string& name) - { - return manager_.GetTransaction().DoesTriggerExist(name); - } - - void ExecuteMultiLines(const std::string& sql) - { - manager_.GetTransaction().ExecuteMultiLines(sql); + return manager_.GetTransaction(); } };