]> git.mxchange.org Git - friendica.git/blobdiff - include/dba.php
Move contact_selector()
[friendica.git] / include / dba.php
index f6bab9e3c58e0eb85a6ebae86495da91652dd9cd..9ac26aaa109b125fd61df189090e16ea49e8405b 100644 (file)
@@ -6,8 +6,6 @@ use Friendica\Database\DBM;
 use Friendica\Database\DBStructure;
 use Friendica\Util\DateTimeFormat;
 
-require_once('include/datetime.php');
-
 /**
  * @class MySQL database class
  *
@@ -666,16 +664,24 @@ class dba {
         * @return array current row
         */
        public static function fetch($stmt) {
+               $a = get_app();
+
+               $stamp1 = microtime(true);
+
+               $columns = [];
+
                if (!is_object($stmt)) {
                        return false;
                }
 
                switch (self::$driver) {
                        case 'pdo':
-                               return $stmt->fetch(PDO::FETCH_ASSOC);
+                               $columns = $stmt->fetch(PDO::FETCH_ASSOC);
+                               break;
                        case 'mysqli':
                                if (get_class($stmt) == 'mysqli_result') {
-                                       return $stmt->fetch_assoc();
+                                       $columns = $stmt->fetch_assoc();
+                                       break;
                                }
 
                                // This code works, but is slow
@@ -700,12 +706,14 @@ class dba {
                                $result = $stmt->result_metadata();
                                $fields = $result->fetch_fields();
 
-                               $columns = [];
                                foreach ($cols_num AS $param => $col) {
                                        $columns[$fields[$param]->name] = $col;
                                }
-                               return $columns;
                }
+
+               $a->save_timestamp($stamp1, 'database');
+
+               return $columns;
        }
 
        /**
@@ -1289,17 +1297,27 @@ class dba {
         * @return boolean was the close successful?
         */
        public static function close($stmt) {
+               $a = get_app();
+
+               $stamp1 = microtime(true);
+
                if (!is_object($stmt)) {
                        return false;
                }
 
                switch (self::$driver) {
                        case 'pdo':
-                               return $stmt->closeCursor();
+                               $ret = $stmt->closeCursor();
+                               break;
                        case 'mysqli':
                                $stmt->free_result();
-                               return $stmt->close();
+                               $ret = $stmt->close();
+                               break;
                }
+
+               $a->save_timestamp($stamp1, 'database');
+
+               return $ret;
        }
 }