]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - extlib/DB/DataObject.php
schema changes for user support of designs
[quix0rs-gnu-social.git] / extlib / DB / DataObject.php
index b1a1a4e2184f77f3bb4d1c0bf22aa45e1b6b9074..0c6a13dc28f7cec5c702d2ad09fb41704bc6b018 100644 (file)
@@ -2357,6 +2357,8 @@ class DB_DataObject extends DB_DataObject_Overload
         $t= explode(' ',microtime());
         $_DB_DATAOBJECT['QUERYENDTIME'] = $time = $t[0]+$t[1];
          
+
+        do {
         
         if ($_DB_driver == 'DB') {
             $result = $DB->query($string);
@@ -2374,8 +2376,19 @@ class DB_DataObject extends DB_DataObject_Overload
                     break;
             }
         }
-        
-       
+
+          // try to reconnect, at most 3 times
+          $again = false;
+          if (is_a($result, 'PEAR_Error')
+          AND $result->getCode() == DB_ERROR_NODBSELECTED
+          AND $cpt++<3) {
+              $DB->disconnect();
+              sleep(1);
+              $DB->connect($DB->dsn);
+              $again = true;
+          }
+          
+        } while ($again);
 
         if (is_a($result,'PEAR_Error')) {
             if (!empty($_DB_DATAOBJECT['CONFIG']['debug'])) {