aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Database/QueryResult.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2014-10-21 14:57:20 +0200
committerShauren <shauren.trinity@gmail.com>2014-10-21 14:57:20 +0200
commit1bea52fd4649b6a1761aa157f9e74f01e19872e7 (patch)
treeacfe289a149100283fffd905fd3ed25e28ae2d5c /src/server/shared/Database/QueryResult.cpp
parentfe634ac8045e220c1e7de2c99ecea9b10b7faa4f (diff)
Core/DBLayer: Added support for BINARY field type
Diffstat (limited to 'src/server/shared/Database/QueryResult.cpp')
-rw-r--r--src/server/shared/Database/QueryResult.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/server/shared/Database/QueryResult.cpp b/src/server/shared/Database/QueryResult.cpp
index a7b8ec2b107..a6d9c64622a 100644
--- a/src/server/shared/Database/QueryResult.cpp
+++ b/src/server/shared/Database/QueryResult.cpp
@@ -163,8 +163,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], (_fields[i].flags & BINARY_FLAG) != 0);
return true;
}