aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMachiavelli <none@none>2010-09-12 15:57:36 +0200
committerMachiavelli <none@none>2010-09-12 15:57:36 +0200
commit123163dc41b0264891aa0d57702c23c98fdb5f1e (patch)
tree4cf7338da6e0546530fbe0b66e06c2597e071b4f /src
parentbb8438c09b0458533e5b34c1917e97838fce2504 (diff)
Core/DBLayer: Check for potential mysql client/server version mismatch. Version mismatch may lead to undefined behaviour with prepared statements.
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/server/shared/Database/MySQLConnection.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/server/shared/Database/MySQLConnection.cpp b/src/server/shared/Database/MySQLConnection.cpp
index cf47eb1374d..3707016765e 100644
--- a/src/server/shared/Database/MySQLConnection.cpp
+++ b/src/server/shared/Database/MySQLConnection.cpp
@@ -122,10 +122,12 @@ bool MySQLConnection::Open(const std::string& infoString)
if (m_Mysql)
{
- sLog.outDetail("Connected to MySQL database at %s", host.c_str());
sLog.outSQLDriver("MySQL client library: %s", mysql_get_client_info());
- sLog.outSQLDriver("MySQL server ver: %s ", mysql_get_server_info( m_Mysql));
+ sLog.outSQLDriver("MySQL server ver: %s ", mysql_get_server_info(m_Mysql));
+ if (mysql_get_server_version(m_Mysql) != mysql_get_client_version())
+ sLog.outSQLDriver("[WARNING] MySQL client/server version mismatch; may conflict with behaviour of prepared statements.");
+ sLog.outDetail("Connected to MySQL database at %s", host.c_str());
if (!mysql_autocommit(m_Mysql, 1))
sLog.outSQLDriver("AUTOCOMMIT SUCCESSFULLY SET TO 1");
else