diff Framework/MySQL/MySQLDatabase.h @ 137:52b3859ee0b7

MySQL: acquiring named locks instead of numbers
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 09 May 2019 11:29:17 +0200
parents e26690365c25
children 4cd7e45b671e
line wrap: on
line diff
--- a/Framework/MySQL/MySQLDatabase.h	Thu May 09 09:52:11 2019 +0200
+++ b/Framework/MySQL/MySQLDatabase.h	Thu May 09 11:29:17 2019 +0200
@@ -44,7 +44,8 @@
     
     void Close();
 
-    bool RunAdvisoryLockStatement(const std::string& statement);
+    bool RunAdvisoryLockStatement(Query& query,
+                                  const std::string& lock);
 
   public:
     MySQLDatabase(const MySQLParameters& parameters);
@@ -72,11 +73,11 @@
     bool LookupGlobalIntegerVariable(int64_t& value,
                                      const std::string& variable);
 
-    bool AcquireAdvisoryLock(int32_t lock);
+    bool AcquireAdvisoryLock(const std::string& lock);
 
-    bool ReleaseAdvisoryLock(int32_t lock);
+    bool ReleaseAdvisoryLock(const std::string& lock);
 
-    void AdvisoryLock(int32_t lock);
+    void AdvisoryLock(const std::string& lock);
 
     void Execute(const std::string& sql,
                  bool arobaseSeparator);
@@ -104,11 +105,11 @@
     {
     private:
       MySQLDatabase&  database_;
-      int32_t         lock_;
+      std::string     lock_;
 
     public:
       TransientAdvisoryLock(MySQLDatabase&  database,
-                            int32_t lock);
+                            const std::string& lock);
 
       ~TransientAdvisoryLock();
     };