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

Reply via email to