diff options
author | Adam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2010-04-10 19:16:55 +0000 |
---|---|---|
committer | Adam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2010-04-10 19:16:55 +0000 |
commit | 91f6b2e29d8fb354e6c93b987d99488f6bb69235 (patch) | |
tree | 7d91dcc63f50cdb6c5b0a9d2e1b4d6a1feb7fb00 | |
parent | 7d3138a4cca121f14071bbf0cc8547019d1a45ac (diff) |
Made MySQL log errors when executing queries instead of crashing
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2881 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r-- | src/modules/mysql/db_mysql.h | 7 | ||||
-rw-r--r-- | src/modules/mysql/db_mysql_read.cpp | 53 |
2 files changed, 18 insertions, 42 deletions
diff --git a/src/modules/mysql/db_mysql.h b/src/modules/mysql/db_mysql.h index 3c7d2b351..8f86baaf5 100644 --- a/src/modules/mysql/db_mysql.h +++ b/src/modules/mysql/db_mysql.h @@ -177,7 +177,7 @@ bool ExecuteQuery(mysqlpp::Query& query) if (!query.execute()) { - Alog(LOG_DEBUG) << "MySQL: error executing query: " << query.error(); + Alog() << "MySQL: error executing query: " << query.error(); return false; } @@ -191,7 +191,7 @@ mysqlpp::StoreQueryResult StoreQuery(mysqlpp::Query& query) mysqlpp::StoreQueryResult result = query.store(); if (!result) { - Alog(LOG_DEBUG) << "MySQL: error executing query: " << query.error(); + Alog() << "MySQL: error executing query: " << query.error(); } return result; } @@ -215,6 +215,7 @@ class DBMySQL : public Module public: mysqlpp::Connection *Con; + mysqlpp::NoExceptions *Ne; std::string Database; std::string Server; @@ -235,6 +236,7 @@ class DBMySQL : public Module throw ModuleException("Couldn't load config"); Con = new mysqlpp::Connection(false); + Ne = new mysqlpp::NoExceptions(Con); if (!Con->connect(Database.c_str(), Server.c_str(), SQLUser.c_str(), Password.c_str(), Port)) { std::string Error = "MySQL: Error connecting to SQL server: "; @@ -246,6 +248,7 @@ class DBMySQL : public Module virtual ~DBMySQL() { + delete Ne; delete Con; } }; diff --git a/src/modules/mysql/db_mysql_read.cpp b/src/modules/mysql/db_mysql_read.cpp index e34278e71..5c498b008 100644 --- a/src/modules/mysql/db_mysql_read.cpp +++ b/src/modules/mysql/db_mysql_read.cpp @@ -98,16 +98,9 @@ static void LoadDatabase() Alog() << "MySQL: Got NickCore access entry for nonexistant core " << qres[i]["display"]; continue; } - try - { - EventReturn MOD_RESULT; - std::vector<std::string> Params = MakeVector(SQLAssign(qres[i]["value"])); - FOREACH_RESULT(I_OnDatabaseReadMetadata, OnDatabaseReadMetadata(nc, SQLAssign(qres[i]["name"]), Params)); - } - catch (const char *err) - { - Alog() << "[db_mysql_read]: " << err; - } + EventReturn MOD_RESULT; + std::vector<std::string> Params = MakeVector(SQLAssign(qres[i]["value"])); + FOREACH_RESULT(I_OnDatabaseReadMetadata, OnDatabaseReadMetadata(nc, SQLAssign(qres[i]["name"]), Params)); } } @@ -160,16 +153,9 @@ static void LoadDatabase() Alog() << "MySQL: Got metadata for nonexistant nick " << qres[i]["nick"]; continue; } - try - { - EventReturn MOD_RESULT; - std::vector<std::string> Params = MakeVector(SQLAssign(qres[i]["value"])); - FOREACH_RESULT(I_OnDatabaseReadMetadata, OnDatabaseReadMetadata(na, SQLAssign(qres[i]["name"]), Params)); - } - catch (const char *err) - { - Alog() << "[db_mysql_read]: " << err; - } + EventReturn MOD_RESULT; + std::vector<std::string> Params = MakeVector(SQLAssign(qres[i]["value"])); + FOREACH_RESULT(I_OnDatabaseReadMetadata, OnDatabaseReadMetadata(na, SQLAssign(qres[i]["name"]), Params)); } } @@ -216,16 +202,9 @@ static void LoadDatabase() continue; } - try - { - EventReturn MOD_RESULT; - std::vector<std::string> Params = MakeVector(SQLAssign(qres[i]["value"])); - FOREACH_RESULT(I_OnDatabaseReadMetadata, OnDatabaseReadMetadata(bi, SQLAssign(qres[i]["name"]), Params)); - } - catch (const char *err) - { - Alog() << "[db_mysql_read]: " << err; - } + EventReturn MOD_RESULT; + std::vector<std::string> Params = MakeVector(SQLAssign(qres[i]["value"])); + FOREACH_RESULT(I_OnDatabaseReadMetadata, OnDatabaseReadMetadata(bi, SQLAssign(qres[i]["name"]), Params)); } } @@ -504,16 +483,10 @@ static void LoadDatabase() Alog() << "MySQL: Channel metadata for nonexistant channel " << qres[i]["channel"]; continue; } - try - { - EventReturn MOD_RESULT; - std::vector<std::string> Params = MakeVector(SQLAssign(qres[i]["value"])); - FOREACH_RESULT(I_OnDatabaseReadMetadata, OnDatabaseReadMetadata(ci, SQLAssign(qres[i]["name"]), Params)); - } - catch (const char *err) - { - Alog() << "[db_mysql_read]: " << err; - } + + EventReturn MOD_RESULT; + std::vector<std::string> Params = MakeVector(SQLAssign(qres[i]["value"])); + FOREACH_RESULT(I_OnDatabaseReadMetadata, OnDatabaseReadMetadata(ci, SQLAssign(qres[i]["name"]), Params)); } } |