aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Logging/AppenderDB.cpp
diff options
context:
space:
mode:
authorSpp <spp@jorge.gr>2012-08-06 13:36:34 +0200
committerSpp <spp@jorge.gr>2012-08-06 13:36:34 +0200
commit4a5a077b655664e2daa98dfe3e7e781605734027 (patch)
tree5bfa9803e5111bfe09eb1d90f72cc63048078d22 /src/server/shared/Logging/AppenderDB.cpp
parent156d1e7b3c5201fd9d7c2510d2f40ec5adf90a84 (diff)
Core/Logging: Use prepared statements in AppenderDB
Diffstat (limited to 'src/server/shared/Logging/AppenderDB.cpp')
-rw-r--r--src/server/shared/Logging/AppenderDB.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/server/shared/Logging/AppenderDB.cpp b/src/server/shared/Logging/AppenderDB.cpp
index 0254ec72bd0..8836be2b24a 100644
--- a/src/server/shared/Logging/AppenderDB.cpp
+++ b/src/server/shared/Logging/AppenderDB.cpp
@@ -37,9 +37,14 @@ void AppenderDB::_write(LogMessage& message)
case LOG_FILTER_SQL_DRIVER:
case LOG_FILTER_SQL_DEV:
break; // Avoid infinite loop, PExecute triggers Logging with LOG_FILTER_SQL type
- default:
- LoginDatabase.PExecute("INSERT INTO logs (time, realm, type, level, string) "
- "VALUES (" UI64FMTD ", %u, %u, %u, '%s');", message.mtime, realm, message.type, message.level, message.text.c_str());
+ default:
+ PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(LOGIN_INS_LOG);
+ stmt->setUInt64(0, message.mtime);
+ stmt->setUInt32(1, realm);
+ stmt->setUInt8(2, message.type);
+ stmt->setUInt8(3, message.level);
+ stmt->setString(4, message.text);
+ LoginDatabase.Execute(stmt);
break;
}
}