diff options
author | Shauren <shauren.trinity@gmail.com> | 2015-08-26 17:00:26 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2015-08-26 17:00:26 +0200 |
commit | 65dbc7082a60b67b76966259130aedc337af3eca (patch) | |
tree | 9872befdeb95c44b58591c3a2f6506e7ff0d7d74 /src/server/database/Database/Field.cpp | |
parent | 614b5832ba96b4c5905ece5490a7b5d18c2f710b (diff) |
Core/DBLayer: Optimized prepared statement query results by eliminating unneeded buffer copies
* Improved error logs for using incorrect Field getters to also include table name, field name and field index.
Diffstat (limited to 'src/server/database/Database/Field.cpp')
-rw-r--r-- | src/server/database/Database/Field.cpp | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/server/database/Database/Field.cpp b/src/server/database/Database/Field.cpp index f7e8d73395e..a5c47e2fce8 100644 --- a/src/server/database/Database/Field.cpp +++ b/src/server/database/Database/Field.cpp @@ -30,18 +30,11 @@ Field::~Field() CleanUp(); } -void Field::SetByteValue(const void* newValue, const size_t newSize, enum_field_types newType, uint32 length) +void Field::SetByteValue(void* newValue, enum_field_types newType, uint32 length) { - if (data.value) - CleanUp(); - // This value stores raw bytes that have to be explicitly cast later - if (newValue) - { - data.value = new char[newSize]; - memcpy(data.value, newValue, newSize); - data.length = length; - } + data.value = newValue; + data.length = length; data.type = newType; data.raw = true; } |