mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 01:37:00 +00:00
[11835] Fix SqlStatement::addBool
MYSQL_TYPE_BIT is not one of the allowable input values, so we have to pass it using an integer variable Signed-off-by: SilverIce <slifeleaf@gmail.com>
This commit is contained in:
parent
6b1d74fd4b
commit
63f9e43385
3 changed files with 7 additions and 6 deletions
|
|
@ -481,9 +481,10 @@ enum_field_types MySqlPreparedStatement::ToMySQLType( const SqlStmtFieldData &da
|
||||||
switch (data.type())
|
switch (data.type())
|
||||||
{
|
{
|
||||||
case FIELD_NONE: dataType = MYSQL_TYPE_NULL; break;
|
case FIELD_NONE: dataType = MYSQL_TYPE_NULL; break;
|
||||||
case FIELD_BOOL: dataType = MYSQL_TYPE_BIT; bUnsigned = 1; break;
|
// MySQL does not support MYSQL_TYPE_BIT as input type
|
||||||
case FIELD_I8: dataType = MYSQL_TYPE_TINY; break;
|
case FIELD_BOOL: //dataType = MYSQL_TYPE_BIT; bUnsigned = 1; break;
|
||||||
case FIELD_UI8: dataType = MYSQL_TYPE_TINY; bUnsigned = 1; break;
|
case FIELD_UI8: dataType = MYSQL_TYPE_TINY; bUnsigned = 1; break;
|
||||||
|
case FIELD_I8: dataType = MYSQL_TYPE_TINY; break;
|
||||||
case FIELD_I16: dataType = MYSQL_TYPE_SHORT; break;
|
case FIELD_I16: dataType = MYSQL_TYPE_SHORT; break;
|
||||||
case FIELD_UI16: dataType = MYSQL_TYPE_SHORT; bUnsigned = 1; break;
|
case FIELD_UI16: dataType = MYSQL_TYPE_SHORT; bUnsigned = 1; break;
|
||||||
case FIELD_I32: dataType = MYSQL_TYPE_LONG; break;
|
case FIELD_I32: dataType = MYSQL_TYPE_LONG; break;
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@ class MANGOS_DLL_SPEC SqlStmtFieldData
|
||||||
void set(T1 param1);
|
void set(T1 param1);
|
||||||
|
|
||||||
//getters
|
//getters
|
||||||
bool toBool() const { MANGOS_ASSERT(m_type == FIELD_BOOL); return m_binaryData.boolean; }
|
bool toBool() const { MANGOS_ASSERT(m_type == FIELD_BOOL); return static_cast<bool>(m_binaryData.ui8); }
|
||||||
uint8 toUint8() const { MANGOS_ASSERT(m_type == FIELD_UI8); return m_binaryData.ui8; }
|
uint8 toUint8() const { MANGOS_ASSERT(m_type == FIELD_UI8); return m_binaryData.ui8; }
|
||||||
int8 toInt8() const { MANGOS_ASSERT(m_type == FIELD_I8); return m_binaryData.i8; }
|
int8 toInt8() const { MANGOS_ASSERT(m_type == FIELD_I8); return m_binaryData.i8; }
|
||||||
uint16 toUint16() const { MANGOS_ASSERT(m_type == FIELD_UI16); return m_binaryData.ui16; }
|
uint16 toUint16() const { MANGOS_ASSERT(m_type == FIELD_UI16); return m_binaryData.ui16; }
|
||||||
|
|
@ -99,7 +99,7 @@ class MANGOS_DLL_SPEC SqlStmtFieldData
|
||||||
switch (m_type)
|
switch (m_type)
|
||||||
{
|
{
|
||||||
case FIELD_NONE: return 0;
|
case FIELD_NONE: return 0;
|
||||||
case FIELD_BOOL: return sizeof(bool);
|
case FIELD_BOOL: //return sizeof(bool);
|
||||||
case FIELD_UI8: return sizeof(uint8);
|
case FIELD_UI8: return sizeof(uint8);
|
||||||
case FIELD_UI16: return sizeof(uint16);
|
case FIELD_UI16: return sizeof(uint16);
|
||||||
case FIELD_UI32: return sizeof(uint32);
|
case FIELD_UI32: return sizeof(uint32);
|
||||||
|
|
@ -124,7 +124,7 @@ class MANGOS_DLL_SPEC SqlStmtFieldData
|
||||||
};
|
};
|
||||||
|
|
||||||
//template specialization
|
//template specialization
|
||||||
template<> inline void SqlStmtFieldData::set(bool val) { m_type = FIELD_BOOL; m_binaryData.boolean = val; }
|
template<> inline void SqlStmtFieldData::set(bool val) { m_type = FIELD_BOOL; m_binaryData.ui8 = val; }
|
||||||
template<> inline void SqlStmtFieldData::set(uint8 val) { m_type = FIELD_UI8; m_binaryData.ui8 = val; }
|
template<> inline void SqlStmtFieldData::set(uint8 val) { m_type = FIELD_UI8; m_binaryData.ui8 = val; }
|
||||||
template<> inline void SqlStmtFieldData::set(int8 val) { m_type = FIELD_I8; m_binaryData.i8 = val; }
|
template<> inline void SqlStmtFieldData::set(int8 val) { m_type = FIELD_I8; m_binaryData.i8 = val; }
|
||||||
template<> inline void SqlStmtFieldData::set(uint16 val) { m_type = FIELD_UI16; m_binaryData.ui16 = val; }
|
template<> inline void SqlStmtFieldData::set(uint16 val) { m_type = FIELD_UI16; m_binaryData.ui16 = val; }
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "11834"
|
#define REVISION_NR "11835"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue