diff options
author | Shauren <shauren.trinity@gmail.com> | 2019-11-01 16:21:14 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2019-11-09 13:49:27 +0100 |
commit | 5f06c476f6b0c6542afdb5e64c1dcfbbcf39dc39 (patch) | |
tree | 7d66be6729bf4615001e72f3c7fc78faff70308d /src/server/database/Database/PreparedStatement.h | |
parent | ed2c2941a74ec720c5e4db3cb33367235e6c3655 (diff) |
Core/DBLayer: Support using mysql 8
(cherry picked from commit c3a9d56b56b665133707f587ecb1bd1c272f6911)
Diffstat (limited to 'src/server/database/Database/PreparedStatement.h')
-rw-r--r-- | src/server/database/Database/PreparedStatement.h | 49 |
1 files changed, 2 insertions, 47 deletions
diff --git a/src/server/database/Database/PreparedStatement.h b/src/server/database/Database/PreparedStatement.h index 51263bf50b8..ac4eb35da2b 100644 --- a/src/server/database/Database/PreparedStatement.h +++ b/src/server/database/Database/PreparedStatement.h @@ -98,6 +98,8 @@ class TC_DATABASE_API PreparedStatement void setString(const uint8 index, const std::string& value); void setBinary(const uint8 index, const std::vector<uint8>& value); + uint32 GetIndex() const { return m_index; } + protected: void BindParameters(MySQLPreparedStatement* stmt); @@ -112,53 +114,6 @@ class TC_DATABASE_API PreparedStatement PreparedStatement& operator=(PreparedStatement const& right) = delete; }; -//- Class of which the instances are unique per MySQLConnection -//- access to these class objects is only done when a prepared statement task -//- is executed. -class TC_DATABASE_API MySQLPreparedStatement -{ - friend class MySQLConnection; - friend class PreparedStatement; - - public: - MySQLPreparedStatement(MYSQL_STMT* stmt, std::string queryString); - ~MySQLPreparedStatement(); - - void setBool(const uint8 index, const bool value); - void setUInt8(const uint8 index, const uint8 value); - void setUInt16(const uint8 index, const uint16 value); - void setUInt32(const uint8 index, const uint32 value); - void setUInt64(const uint8 index, const uint64 value); - void setInt8(const uint8 index, const int8 value); - void setInt16(const uint8 index, const int16 value); - void setInt32(const uint8 index, const int32 value); - void setInt64(const uint8 index, const int64 value); - void setFloat(const uint8 index, const float value); - void setDouble(const uint8 index, const double value); - void setBinary(const uint8 index, const std::vector<uint8>& value, bool isString); - void setNull(const uint8 index); - - uint32 GetParameterCount() const { return m_paramCount; } - - protected: - MYSQL_STMT* GetSTMT() { return m_Mstmt; } - MYSQL_BIND* GetBind() { return m_bind; } - PreparedStatement* m_stmt; - void ClearParameters(); - void AssertValidIndex(uint8 index); - std::string getQueryString() const; - - private: - MYSQL_STMT* m_Mstmt; - uint32 m_paramCount; - std::vector<bool> m_paramsSet; - MYSQL_BIND* m_bind; - std::string const m_queryString; - - MySQLPreparedStatement(MySQLPreparedStatement const& right) = delete; - MySQLPreparedStatement& operator=(MySQLPreparedStatement const& right) = delete; -}; - //- Lower-level class, enqueuable operation class TC_DATABASE_API PreparedStatementTask : public SQLOperation { |