diff Framework/MySQL/MySQLDatabase.h @ 23:b2ff1cd2907a

handling of implicit transactions in DatabaseManager
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 12 Jul 2018 10:44:17 +0200
parents 1e9bad493475
children 17f849b2af34
line wrap: on
line diff
--- a/Framework/MySQL/MySQLDatabase.h	Wed Jul 11 14:39:59 2018 +0200
+++ b/Framework/MySQL/MySQLDatabase.h	Thu Jul 12 10:44:17 2018 +0200
@@ -40,6 +40,8 @@
     MySQLParameters  parameters_;
     MYSQL           *mysql_;
 
+    void OpenInternal(const char* database);
+    
     void Close();
 
   public:
@@ -58,6 +60,13 @@
 
     void Open();
 
+    void OpenRoot()
+    {
+      OpenInternal(NULL);
+    }
+
+    static void ClearDatabase(const MySQLParameters& parameters);
+
     bool LookupGlobalStringVariable(std::string& value,
                                     const std::string& variable);
     
@@ -82,7 +91,7 @@
 
     virtual IPrecompiledStatement* Compile(const Query& query);
 
-    virtual ITransaction* CreateTransaction();
+    virtual ITransaction* CreateTransaction(bool isImplicit);
 
     static void GlobalFinalization();
   };