X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fdba.php;h=9ac26aaa109b125fd61df189090e16ea49e8405b;hb=eef25a32593a58432029c71497ee77a24f04bf1e;hp=6471d364514884cf98a77f970676b10583715093;hpb=26b335ef3d8b1ec4e1b4e22cd7d3c34e66d2549d;p=friendica.git diff --git a/include/dba.php b/include/dba.php index 6471d36451..9ac26aaa10 100644 --- a/include/dba.php +++ b/include/dba.php @@ -1,9 +1,10 @@ config["system"]["db_log_index"], datetime_convert()."\t". + @file_put_contents($a->config["system"]["db_log_index"], DateTimeFormat::utcNow()."\t". $row['key']."\t".$row['rows']."\t".$row['Extra']."\t". basename($backtrace[1]["file"])."\t". $backtrace[1]["line"]."\t".$backtrace[2]["function"]."\t". @@ -492,7 +493,7 @@ class dba { $duration = round($duration, 3); $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); - @file_put_contents($a->config["system"]["db_log"], datetime_convert()."\t".$duration."\t". + @file_put_contents($a->config["system"]["db_log"], DateTimeFormat::utcNow()."\t".$duration."\t". basename($backtrace[1]["file"])."\t". $backtrace[1]["line"]."\t".$backtrace[2]["function"]."\t". substr(self::replace_parameters($sql, $args), 0, 2000)."\n", FILE_APPEND); @@ -659,20 +660,28 @@ class dba { /** * @brief Fetch a single row * - * @param PDOStatement|mysqli_result|mysqli_stmt $stmt statement object + * @param mixed $stmt statement object * @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 @@ -697,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; } /** @@ -1145,6 +1156,7 @@ class dba { $condition_string = self::buildCondition($condition); + $order_string = ''; if (isset($params['order'])) { $order_string = " ORDER BY "; foreach ($params['order'] AS $fields => $order) { @@ -1157,6 +1169,7 @@ class dba { $order_string = substr($order_string, 0, -2); } + $limit_string = ''; if (isset($params['limit']) && is_int($params['limit'])) { $limit_string = " LIMIT " . $params['limit']; } @@ -1284,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; } }