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();
       }
     };