aboutsummaryrefslogtreecommitdiff
path: root/src/server/database/Database/PreparedStatement.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/database/Database/PreparedStatement.h')
-rw-r--r--src/server/database/Database/PreparedStatement.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/server/database/Database/PreparedStatement.h b/src/server/database/Database/PreparedStatement.h
index ddc731625fa..33ef04287cd 100644
--- a/src/server/database/Database/PreparedStatement.h
+++ b/src/server/database/Database/PreparedStatement.h
@@ -78,7 +78,7 @@ class TC_DATABASE_API PreparedStatement
friend class MySQLConnection;
public:
- explicit PreparedStatement(uint32 index);
+ PreparedStatement(uint32 index, uint8 capacity);
~PreparedStatement();
void setBool(const uint8 index, const bool value);
@@ -97,12 +97,14 @@ class TC_DATABASE_API PreparedStatement
void setNull(const uint8 index);
protected:
- void BindParameters();
+ void BindParameters(MySQLPreparedStatement* stmt);
protected:
MySQLPreparedStatement* m_stmt;
uint32 m_index;
- std::vector<PreparedStatementData> statement_data; //- Buffer of parameters, not tied to MySQL in any way yet
+
+ //- Buffer of parameters, not tied to MySQL in any way yet
+ std::vector<PreparedStatementData> statement_data;
PreparedStatement(PreparedStatement const& right) = delete;
PreparedStatement& operator=(PreparedStatement const& right) = delete;
@@ -117,7 +119,7 @@ class TC_DATABASE_API MySQLPreparedStatement
friend class PreparedStatement;
public:
- MySQLPreparedStatement(MYSQL_STMT* stmt);
+ MySQLPreparedStatement(MYSQL_STMT* stmt, std::string queryString);
~MySQLPreparedStatement();
void setBool(const uint8 index, const bool value);
@@ -134,13 +136,15 @@ class TC_DATABASE_API MySQLPreparedStatement
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();
- bool CheckValidIndex(uint8 index);
- std::string getQueryString(std::string const& sqlPattern) const;
+ void AssertValidIndex(uint8 index);
+ std::string getQueryString() const;
private:
void setValue(MYSQL_BIND* param, enum_field_types type, const void* value, uint32 len, bool isUnsigned);
@@ -150,6 +154,7 @@ class TC_DATABASE_API MySQLPreparedStatement
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;