aboutsummaryrefslogtreecommitdiff
path: root/src/server/database/Database/PreparedStatement.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2019-11-01 16:21:14 +0100
committerShauren <shauren.trinity@gmail.com>2019-11-01 16:21:14 +0100
commitc3a9d56b56b665133707f587ecb1bd1c272f6911 (patch)
tree02dfce1fa605569e3212fbe8804125d55957d7bf /src/server/database/Database/PreparedStatement.h
parent2072258ef44e89e30256d529686ae2b8dc2b5f0d (diff)
Core/DBLayer: Support using mysql 8
Diffstat (limited to 'src/server/database/Database/PreparedStatement.h')
-rw-r--r--src/server/database/Database/PreparedStatement.h49
1 files changed, 2 insertions, 47 deletions
diff --git a/src/server/database/Database/PreparedStatement.h b/src/server/database/Database/PreparedStatement.h
index 3495c5aee67..1a6ff2b4c5f 100644
--- a/src/server/database/Database/PreparedStatement.h
+++ b/src/server/database/Database/PreparedStatement.h
@@ -98,6 +98,8 @@ class TC_DATABASE_API PreparedStatementBase
void setBinary(const uint8 index, const std::vector<uint8>& value);
void setNull(const uint8 index);
+ uint32 GetIndex() const { return m_index; }
+
protected:
void BindParameters(MySQLPreparedStatement* stmt);
@@ -125,53 +127,6 @@ private:
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 PreparedStatementBase;
-
- public:
- MySQLPreparedStatement(MYSQL_STMT* stmt, std::string queryString);
- ~MySQLPreparedStatement();
-
- void setNull(const uint8 index);
- 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);
-
- uint32 GetParameterCount() const { return m_paramCount; }
-
- protected:
- MYSQL_STMT* GetSTMT() { return m_Mstmt; }
- MYSQL_BIND* GetBind() { return m_bind; }
- PreparedStatementBase* 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
{