diff options
author | maximius <none@none> | 2009-09-30 04:18:07 -0700 |
---|---|---|
committer | maximius <none@none> | 2009-09-30 04:18:07 -0700 |
commit | 3c43ef715754ba2762b7e4c9006957074c84366d (patch) | |
tree | 6ef1e024e01946f532c970e6d46d377d084a8588 /src/shared | |
parent | 57370773711ee8270765e73bebe34ff1ca92e43f (diff) |
*Better support for negatives.
--HG--
branch : trunk
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/Database/Database.cpp | 4 | ||||
-rw-r--r-- | src/shared/Database/Database.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/shared/Database/Database.cpp b/src/shared/Database/Database.cpp index 184a34fb2ce..b307444ff54 100644 --- a/src/shared/Database/Database.cpp +++ b/src/shared/Database/Database.cpp @@ -175,12 +175,12 @@ bool Database::PExecute(const char * format,...) return Execute(szQuery); } -bool Database::_UpdateDataBlobValue(const uint32 guid, const uint32 field, const uint32 value) +bool Database::_UpdateDataBlobValue(const uint32 guid, const uint32 field, const int32 value) { return PExecute( "UPDATE characters SET data=" "CONCAT(SUBSTRING_INDEX(`data`,' ',%u),' '," - "SUBSTRING_INDEX(SUBSTRING_INDEX(`data`,' ',%u),' ',-1)+%u," + "GREATEST(SUBSTRING_INDEX(SUBSTRING_INDEX(`data`,' ',%u),' ',-1)+%u,0)," "' ',SUBSTRING_INDEX(`data`,' ',%u)) WHERE guid=%u", field, field+1, value, -int32(PLAYER_END-field)-1, guid); } diff --git a/src/shared/Database/Database.h b/src/shared/Database/Database.h index e7cc028548e..6172a61c5f9 100644 --- a/src/shared/Database/Database.h +++ b/src/shared/Database/Database.h @@ -102,7 +102,7 @@ class TRINITY_DLL_SPEC Database virtual bool DirectExecute(const char* sql) = 0; bool DirectPExecute(const char *format,...) ATTR_PRINTF(2,3); - bool _UpdateDataBlobValue(const uint32 guid, const uint32 field, const uint32 value); + bool _UpdateDataBlobValue(const uint32 guid, const uint32 field, const int32 value); bool _SetDataBlobValue(const uint32 guid, const uint32 field, const uint32 value); // Writes SQL commands to a LOG file (see Trinityd.conf "LogSQL") |