diff options
author | jackpoz <giacomopoz@gmail.com> | 2016-08-10 16:02:22 +0200 |
---|---|---|
committer | jackpoz <giacomopoz@gmail.com> | 2016-08-10 16:02:22 +0200 |
commit | abe37e458c2b482d478ce98ba44bc8dcf76caeb1 (patch) | |
tree | 9cbbbbaa3ab019e549b3e310e6f3ebf9aae8d62b /src/server/database/Database/Field.h | |
parent | 375593761167ba1bf8ef16bbe345cb569ad1e00b (diff) |
Server/Database: Reduce differences between 3.3.5 and 6.x branches
Cherry-pick 1bea52fd4649b6a1761aa157f9e74f01e19872e7 and 543bea32 to add support to TYPE_BINARY MySQL field type
Diffstat (limited to 'src/server/database/Database/Field.h')
-rw-r--r-- | src/server/database/Database/Field.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/server/database/Database/Field.h b/src/server/database/Database/Field.h index 123e25dbbf3..6089c3001fb 100644 --- a/src/server/database/Database/Field.h +++ b/src/server/database/Database/Field.h @@ -271,7 +271,6 @@ class TC_DATABASE_API Field } #endif return static_cast<char const*>(data.value); - } std::string GetString() const @@ -286,6 +285,17 @@ class TC_DATABASE_API Field return std::string(string, data.length); } + std::vector<uint8> GetBinary() const + { + std::vector<uint8> result; + if (!data.value || !data.length) + return result; + + result.resize(data.length); + memcpy(result.data(), data.value, data.length); + return result; + } + bool IsNull() const { return data.value == NULL; @@ -313,7 +323,7 @@ class TC_DATABASE_API Field #pragma pack(pop) void SetByteValue(void* newValue, enum_field_types newType, uint32 length); - void SetStructuredValue(char* newValue, enum_field_types newType); + void SetStructuredValue(char* newValue, enum_field_types newType, uint32 length); void CleanUp() { |