Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0 / 0 |
|
100.00% |
0 / 0 |
CRAP | |
100.00% |
0 / 0 |
|
| <?php | |
| /** | |
| * | |
| * This file is part of the phpBB Forum Software package. | |
| * | |
| * @copyright (c) phpBB Limited <https://www.phpbb.com> | |
| * @license GNU General Public License, version 2 (GPL-2.0) | |
| * | |
| * For full copyright and license information, please see | |
| * the docs/CREDITS.txt file. | |
| * | |
| */ | |
| namespace phpbb\db\tools; | |
| /** | |
| * Interface for a Database Tools for handling cross-db actions such as altering columns, etc. | |
| */ | |
| interface tools_interface | |
| { | |
| /** | |
| * Handle passed database update array. | |
| * Expected structure... | |
| * Key being one of the following | |
| * drop_tables: Drop tables | |
| * add_tables: Add tables | |
| * change_columns: Column changes (only type, not name) | |
| * add_columns: Add columns to a table | |
| * drop_keys: Dropping keys | |
| * drop_columns: Removing/Dropping columns | |
| * add_primary_keys: adding primary keys | |
| * add_unique_index: adding an unique index | |
| * add_index: adding an index (can be column:index_size if you need to provide size) | |
| * | |
| * The values are in this format: | |
| * {TABLE NAME} => array( | |
| * {COLUMN NAME} => array({COLUMN TYPE}, {DEFAULT VALUE}, {OPTIONAL VARIABLES}), | |
| * {KEY/INDEX NAME} => array({COLUMN NAMES}), | |
| * ) | |
| * | |
| * | |
| * @param array $schema_changes | |
| * @return null | |
| */ | |
| public function perform_schema_changes($schema_changes); | |
| /** | |
| * Gets a list of tables in the database. | |
| * | |
| * @return array Array of table names (all lower case) | |
| */ | |
| public function sql_list_tables(); | |
| /** | |
| * Check if table exists | |
| * | |
| * @param string $table_name The table name to check for | |
| * @return bool true if table exists, else false | |
| */ | |
| public function sql_table_exists($table_name); | |
| /** | |
| * Create SQL Table | |
| * | |
| * @param string $table_name The table name to create | |
| * @param array $table_data Array containing table data. | |
| * @return array|true Statements to run, or true if the statements have been executed | |
| */ | |
| public function sql_create_table($table_name, $table_data); | |
| /** | |
| * Drop Table | |
| * | |
| * @param string $table_name The table name to drop | |
| * @return array|true Statements to run, or true if the statements have been executed | |
| */ | |
| public function sql_table_drop($table_name); | |
| /** | |
| * Gets a list of columns of a table. | |
| * | |
| * @param string $table_name Table name | |
| * @return array Array of column names (all lower case) | |
| */ | |
| public function sql_list_columns($table_name); | |
| /** | |
| * Check whether a specified column exist in a table | |
| * | |
| * @param string $table_name Table to check | |
| * @param string $column_name Column to check | |
| * @return bool True if column exists, false otherwise | |
| */ | |
| public function sql_column_exists($table_name, $column_name); | |
| /** | |
| * Add new column | |
| * | |
| * @param string $table_name Table to modify | |
| * @param string $column_name Name of the column to add | |
| * @param array $column_data Column data | |
| * @param bool $inline Whether the query should actually be run, | |
| * or return a string for adding the column | |
| * @return array|true Statements to run, or true if the statements have been executed | |
| */ | |
| public function sql_column_add($table_name, $column_name, $column_data, $inline = false); | |
| /** | |
| * Change column type (not name!) | |
| * | |
| * @param string $table_name Table to modify | |
| * @param string $column_name Name of the column to modify | |
| * @param array $column_data Column data | |
| * @param bool $inline Whether the query should actually be run, | |
| * or return a string for modifying the column | |
| * @return array|true Statements to run, or true if the statements have been executed | |
| */ | |
| public function sql_column_change($table_name, $column_name, $column_data, $inline = false); | |
| /** | |
| * Drop column | |
| * | |
| * @param string $table_name Table to modify | |
| * @param string $column_name Name of the column to drop | |
| * @param bool $inline Whether the query should actually be run, | |
| * or return a string for deleting the column | |
| * @return array|true Statements to run, or true if the statements have been executed | |
| */ | |
| public function sql_column_remove($table_name, $column_name, $inline = false); | |
| /** | |
| * List all of the indices that belong to a table | |
| * | |
| * NOTE: does not list | |
| * - UNIQUE indices | |
| * - PRIMARY keys | |
| * | |
| * @param string $table_name Table to check | |
| * @return array Array with index names | |
| */ | |
| public function sql_list_index($table_name); | |
| /** | |
| * Check if a specified index exists in table. Does not return PRIMARY KEY and UNIQUE indexes. | |
| * | |
| * @param string $table_name Table to check the index at | |
| * @param string $index_name The index name to check | |
| * @return bool True if index exists, else false | |
| */ | |
| public function sql_index_exists($table_name, $index_name); | |
| /** | |
| * Add index | |
| * | |
| * @param string $table_name Table to modify | |
| * @param string $index_name Name of the index to create | |
| * @param string|array $column Either a string with a column name, or an array with columns | |
| * @return array|true Statements to run, or true if the statements have been executed | |
| */ | |
| public function sql_create_index($table_name, $index_name, $column); | |
| /** | |
| * Drop Index | |
| * | |
| * @param string $table_name Table to modify | |
| * @param string $index_name Name of the index to delete | |
| * @return array|true Statements to run, or true if the statements have been executed | |
| */ | |
| public function sql_index_drop($table_name, $index_name); | |
| /** | |
| * Check if a specified index exists in table. | |
| * | |
| * NOTE: Does not return normal and PRIMARY KEY indexes | |
| * | |
| * @param string $table_name Table to check the index at | |
| * @param string $index_name The index name to check | |
| * @return bool True if index exists, else false | |
| */ | |
| public function sql_unique_index_exists($table_name, $index_name); | |
| /** | |
| * Add unique index | |
| * | |
| * @param string $table_name Table to modify | |
| * @param string $index_name Name of the unique index to create | |
| * @param string|array $column Either a string with a column name, or an array with columns | |
| * @return array|true Statements to run, or true if the statements have been executed | |
| */ | |
| public function sql_create_unique_index($table_name, $index_name, $column); | |
| /** | |
| * Add primary key | |
| * | |
| * @param string $table_name Table to modify | |
| * @param string|array $column Either a string with a column name, or an array with columns | |
| * @param bool $inline Whether the query should actually be run, | |
| * or return a string for creating the key | |
| * @return array|true Statements to run, or true if the statements have been executed | |
| */ | |
| public function sql_create_primary_key($table_name, $column, $inline = false); | |
| } |