<?php
/**
- * @copyright Copyright (C) 2010-2022, the Friendica project
+ * @copyright Copyright (C) 2010-2023, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
* Please use DBA::delete, DBA::insert, DBA::update, ... instead
*
* @param string $sql SQL statement
- * @return boolean Was the query successfull? False is returned only if an error occurred
+ * @return boolean Was the query successful? False is returned only if an error occurred
* @throws \Exception
*/
public static function e(string $sql): bool
* @param array|boolean $old_fields array with the old field values that are about to be replaced (true = update on duplicate, false = don't update identical fields)
* @param array $params Parameters: "ignore" If set to "true" then the update is done with the ignore parameter
*
- * @return boolean was the update successfull?
+ * @return boolean was the update successful?
* @throws \Exception
*/
public static function update(string $table, array $fields, array $condition, $old_fields = [], array $params = []): bool
* Build the table query substring from one or more tables, with or without a schema.
*
* Expected formats:
- * - table
+ * - [table]
* - [table1, table2, ...]
* - [schema1 => table1, schema2 => table2, table3, ...]
*
public static function buildTableString(array $tables): string
{
// Quote each entry
- return implode(',', array_map(['self', 'quoteIdentifier'], $tables));
+ return implode(',', array_map([self::class, 'quoteIdentifier'], $tables));
}
/**
public static function buildCondition(array &$condition = []): string
{
$condition = self::collapseCondition($condition);
-
+
$condition_string = '';
if (count($condition) > 0) {
$condition_string = " WHERE (" . array_shift($condition) . ")";
{
$groupby_string = '';
if (!empty($params['group_by'])) {
- $groupby_string = " GROUP BY " . implode(', ', array_map(['self', 'quoteIdentifier'], $params['group_by']));
+ $groupby_string = " GROUP BY " . implode(', ', array_map([self::class, 'quoteIdentifier'], $params['group_by']));
}
$order_string = '';
return DI::dba()->processlist();
}
+ /**
+ * Optimizes tables
+ *
+ * @param string $table a given table
+ *
+ * @return bool True, if successfully optimized, otherwise false
+ * @throws \Exception
+ */
+ public static function optimizeTable(string $table): bool
+ {
+ return DI::dba()->optimizeTable($table);
+ }
+
+ /**
+ * Kill sleeping database processes
+ */
+ public static function deleteSleepingProcesses()
+ {
+ DI::dba()->deleteSleepingProcesses();
+ }
+
/**
* Fetch a database variable
*