From abe37e458c2b482d478ce98ba44bc8dcf76caeb1 Mon Sep 17 00:00:00 2001 From: jackpoz Date: Wed, 10 Aug 2016 16:02:22 +0200 Subject: 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 --- src/server/database/Database/QueryResult.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/server/database/Database/QueryResult.cpp') diff --git a/src/server/database/Database/QueryResult.cpp b/src/server/database/Database/QueryResult.cpp index db9e737830c..44f29ce41b8 100644 --- a/src/server/database/Database/QueryResult.cpp +++ b/src/server/database/Database/QueryResult.cpp @@ -187,8 +187,16 @@ bool ResultSet::NextRow() return false; } + unsigned long* lengths = mysql_fetch_lengths(_result); + if (!lengths) + { + TC_LOG_WARN("sql.sql", "%s:mysql_fetch_lengths, cannot retrieve value lengths. Error %s.", __FUNCTION__, mysql_error(_result->handle)); + CleanUp(); + return false; + } + for (uint32 i = 0; i < _fieldCount; i++) - _currentRow[i].SetStructuredValue(row[i], _fields[i].type); + _currentRow[i].SetStructuredValue(row[i], _fields[i].type, lengths[i]); return true; } -- cgit v1.2.3