comparison 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
comparison
equal deleted inserted replaced
136:3266785d5627 137:52b3859ee0b7
42 42
43 void OpenInternal(const char* database); 43 void OpenInternal(const char* database);
44 44
45 void Close(); 45 void Close();
46 46
47 bool RunAdvisoryLockStatement(const std::string& statement); 47 bool RunAdvisoryLockStatement(Query& query,
48 const std::string& lock);
48 49
49 public: 50 public:
50 MySQLDatabase(const MySQLParameters& parameters); 51 MySQLDatabase(const MySQLParameters& parameters);
51 52
52 virtual ~MySQLDatabase(); 53 virtual ~MySQLDatabase();
70 const std::string& variable); 71 const std::string& variable);
71 72
72 bool LookupGlobalIntegerVariable(int64_t& value, 73 bool LookupGlobalIntegerVariable(int64_t& value,
73 const std::string& variable); 74 const std::string& variable);
74 75
75 bool AcquireAdvisoryLock(int32_t lock); 76 bool AcquireAdvisoryLock(const std::string& lock);
76 77
77 bool ReleaseAdvisoryLock(int32_t lock); 78 bool ReleaseAdvisoryLock(const std::string& lock);
78 79
79 void AdvisoryLock(int32_t lock); 80 void AdvisoryLock(const std::string& lock);
80 81
81 void Execute(const std::string& sql, 82 void Execute(const std::string& sql,
82 bool arobaseSeparator); 83 bool arobaseSeparator);
83 84
84 bool DoesTableExist(MySQLTransaction& transaction, 85 bool DoesTableExist(MySQLTransaction& transaction,
102 103
103 class TransientAdvisoryLock 104 class TransientAdvisoryLock
104 { 105 {
105 private: 106 private:
106 MySQLDatabase& database_; 107 MySQLDatabase& database_;
107 int32_t lock_; 108 std::string lock_;
108 109
109 public: 110 public:
110 TransientAdvisoryLock(MySQLDatabase& database, 111 TransientAdvisoryLock(MySQLDatabase& database,
111 int32_t lock); 112 const std::string& lock);
112 113
113 ~TransientAdvisoryLock(); 114 ~TransientAdvisoryLock();
114 }; 115 };
115 }; 116 };
116 } 117 }