Author: baufo
Date: Sat Nov 22 22:36:24 2008
New Revision: 30982
URL: http://svn.gna.org/viewcvs/wesnoth?rev=30982&view=rev
Log:
fixing user_handler reconnection to db
Modified:
trunk/src/server/forum_user_handler.cpp
Modified: trunk/src/server/forum_user_handler.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/server/forum_user_handler.cpp?rev=30982&r1=30981&r2=30982&view=diff
==============================================================================
--- trunk/src/server/forum_user_handler.cpp (original)
+++ trunk/src/server/forum_user_handler.cpp Sat Nov 22 22:36:24 2008
@@ -224,26 +224,24 @@
}
mysqlpp::Result fuh::db_query(const std::string& sql) {
-
- //Check if we are connected
- if(!(db_interface_.connected())) {
+ try {
+ mysqlpp::Query query = db_interface_.query();
+ query << sql;
+ return query.store();
+ } catch(...) {
WRN_UH << "not connected to database, reconnecting..." <<
std::endl;
//Try to reconnect
try {
db_interface_.connect(db_name_.c_str(),
db_host_.c_str(), db_user_.c_str(), db_password_.c_str());
+
+ // Execute the query again
+ mysqlpp::Query query = db_interface_.query();
+ query << sql;
+ return query.store();
} catch(...) {
- ERR_UH << "Could not connect to database: " <<
db_interface_.error() << std::endl;
- throw error("Could not connect to database.");
+ ERR_UH << "Could not connect to database: " <<
db_interface_.error() << std::endl;
+ throw error("Error querying database.");
}
- }
-
- try {
- mysqlpp::Query query = db_interface_.query();
- query << sql;
- return query.store();
- } catch(...) {
- ERR_UH << "Could not connect to database: " <<
db_interface_.error() << std::endl;
- throw error("Error querying database.");
}
}
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits