aboutsummaryrefslogtreecommitdiff
path: root/src/server/database/Database/QueryResult.cpp
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2016-08-10 16:02:22 +0200
committerjackpoz <giacomopoz@gmail.com>2016-08-10 16:02:22 +0200
commitabe37e458c2b482d478ce98ba44bc8dcf76caeb1 (patch)
tree9cbbbbaa3ab019e549b3e310e6f3ebf9aae8d62b /src/server/database/Database/QueryResult.cpp
parent375593761167ba1bf8ef16bbe345cb569ad1e00b (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/QueryResult.cpp')
-rw-r--r--src/server/database/Database/QueryResult.cpp10
1 files changed, 9 insertions, 1 deletions
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;
}