diff options
author | Shauren <shauren.trinity@gmail.com> | 2014-10-21 14:57:20 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2014-10-21 14:57:20 +0200 |
commit | 1bea52fd4649b6a1761aa157f9e74f01e19872e7 (patch) | |
tree | acfe289a149100283fffd905fd3ed25e28ae2d5c /src/server/shared/Database/Field.h | |
parent | fe634ac8045e220c1e7de2c99ecea9b10b7faa4f (diff) |
Core/DBLayer: Added support for BINARY field type
Diffstat (limited to 'src/server/shared/Database/Field.h')
-rw-r--r-- | src/server/shared/Database/Field.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/server/shared/Database/Field.h b/src/server/shared/Database/Field.h index 2e888be5ed3..99f98572a56 100644 --- a/src/server/shared/Database/Field.h +++ b/src/server/shared/Database/Field.h @@ -228,7 +228,6 @@ class Field } #endif return static_cast<char const*>(data.value); - } std::string GetString() const @@ -243,7 +242,18 @@ class Field string = ""; return std::string(string, data.length); } - return std::string((char*)data.value); + return std::string((char*)data.value, 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 @@ -274,7 +284,7 @@ class Field #endif void SetByteValue(void const* newValue, size_t const newSize, enum_field_types newType, uint32 length); - void SetStructuredValue(char* newValue, enum_field_types newType); + void SetStructuredValue(char* newValue, enum_field_types newType, uint32 length, bool isBinary); void CleanUp() { |