X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FDatabase%2FDBA.php;h=0c0fd0f80d30839cf94261d08dfee5a0f9a63334;hb=3f2b0b9422915529a0ea585aa4325b6d2f2f65cd;hp=677bf1a27f30af4fa4ae833b73fca11964ba25e3;hpb=e445975c2033c339fb9d1c0acf3bd11a35a2f7f6;p=friendica.git diff --git a/src/Database/DBA.php b/src/Database/DBA.php index 677bf1a27f..0c0fd0f80d 100644 --- a/src/Database/DBA.php +++ b/src/Database/DBA.php @@ -1,6 +1,6 @@ connect(); @@ -205,7 +210,7 @@ class DBA * 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 @@ -218,7 +223,7 @@ class DBA /** * Check if data exists * - * @param string $table Table name in format schema.table (while scheme is optiona) + * @param string $table Table name in format schema.table (where schema is optional) * @param array $condition Array of fields for condition * @return boolean Are there rows for that condition? * @throws \Exception @@ -289,7 +294,7 @@ class DBA /** * Insert a row into a table * - * @param string $table Table name in format schema.table (while scheme is optiona) + * @param string $table Table name in format schema.table (where schema is optional) * @param array $param parameter array * @param int $duplicate_mode What to do on a duplicated entry * @return boolean was the insert successful? @@ -304,7 +309,7 @@ class DBA * Inserts a row with the provided data in the provided table. * If the data corresponds to an existing row through a UNIQUE or PRIMARY index constraints, it updates the row instead. * - * @param string $table Table name in format schema.table (while scheme is optiona) + * @param string $table Table name in format schema.table (where schema is optional) * @param array $param parameter array * @return boolean was the insert successful? * @throws \Exception @@ -329,7 +334,7 @@ class DBA * * This function can be extended in the future to accept a table array as well. * - * @param string $table Table name in format schema.table (while scheme is optiona) + * @param string $table Table name in format schema.table (where schema is optional) * @return boolean was the lock successful? * @throws \Exception */ @@ -414,13 +419,13 @@ class DBA * Only set $old_fields to a boolean value when you are sure that you will update a single row. * When you set $old_fields to "true" then $fields must contain all relevant fields! * - * @param string $table Table name in format schema.table (while scheme is optiona) + * @param string $table Table name in format schema.table (where schema is optional) * @param array $fields contains the fields that are updated * @param array $condition condition array with the key values * @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 @@ -431,7 +436,7 @@ class DBA /** * Retrieve a single record from a table and returns it in an associative array * - * @param string|array $table Table name in format schema.table (while scheme is optiona) + * @param string|array $table Table name in format schema.table (where schema is optional) * @param array $fields * @param array $condition * @param array $params @@ -447,7 +452,7 @@ class DBA /** * Select rows from a table and fills an array with the data * - * @param string $table Table name in format schema.table (while scheme is optiona) + * @param string $table Table name in format schema.table (where schema is optional) * @param array $fields Array of selected fields, empty for all * @param array $condition Array of fields for condition * @param array $params Array of several parameters @@ -464,7 +469,7 @@ class DBA /** * Select rows from a table * - * @param string $table Table name in format schema.table (while scheme is optiona) + * @param string $table Table name in format schema.table (where schema is optional) * @param array $fields Array of selected fields, empty for all * @param array $condition Array of fields for condition * @param array $params Array of several parameters @@ -492,7 +497,7 @@ class DBA /** * Counts the rows from a table satisfying the provided condition * - * @param string $table Table name in format schema.table (while scheme is optiona) + * @param string $table Table name in format schema.table (where schema is optional) * @param array $condition array of fields for condition * @param array $params Array of several parameters * @@ -517,7 +522,7 @@ class DBA * 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, ...] * @@ -527,7 +532,7 @@ class DBA 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)); } /** @@ -568,7 +573,7 @@ class DBA public static function buildCondition(array &$condition = []): string { $condition = self::collapseCondition($condition); - + $condition_string = ''; if (count($condition) > 0) { $condition_string = " WHERE (" . array_shift($condition) . ")"; @@ -717,7 +722,7 @@ class DBA { $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 = ''; @@ -821,6 +826,27 @@ class DBA 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 *