summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2010-04-10 19:16:55 +0000
committerAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2010-04-10 19:16:55 +0000
commit91f6b2e29d8fb354e6c93b987d99488f6bb69235 (patch)
tree7d91dcc63f50cdb6c5b0a9d2e1b4d6a1feb7fb00 /src
parent7d3138a4cca121f14071bbf0cc8547019d1a45ac (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
Diffstat (limited to 'src')
-rw-r--r--src/modules/mysql/db_mysql.h7
-rw-r--r--src/modules/mysql/db_mysql_read.cpp53
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));
}
}