From 65dbc7082a60b67b76966259130aedc337af3eca Mon Sep 17 00:00:00 2001 From: Shauren Date: Wed, 26 Aug 2015 17:00:26 +0200 Subject: 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. --- src/server/database/Database/Field.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'src/server/database/Database/Field.cpp') 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; } -- cgit v1.2.3