class tools implements tools_interface
Database Tools for handling cross-db actions such as altering columns, etc.
Currently not supported is returning SQL for creating tables.
Properties
$sql_layer | Current sql layer | |
object | $db | |
array | $dbms_type_map | The Column types for every database we support |
array | $unsigned_types | A list of types being unsigned for better reference in some db's |
$return_statements | This is set to true if user only wants to return the 'to-be-executed' SQL statement(s) (as an array). |
Methods
static array |
get_dbms_type_map()
Get the column types for every database we support |
|
__construct(driver_interface $db, bool $return_statements = false)
Constructor. |
||
null |
set_return_statements(bool $return_statements)
Setter for {@link $returnstatements returnstatements}. |
|
array |
sql_list_tables()
Gets a list of tables in the database. |
|
bool |
sql_table_exists(string $table_name)
Check if table exists |
|
array|true |
sql_create_table(string $table_name, array $table_data)
Create SQL Table |
|
null |
perform_schema_changes(array $schema_changes)
Handle passed database update array. |
|
array |
sql_list_columns(string $table_name)
Gets a list of columns of a table. |
|
bool |
sql_column_exists(string $table_name, string $column_name)
Check whether a specified column exist in a table |
|
bool |
sql_index_exists(string $table_name, string $index_name)
Check if a specified index exists in table. |
|
bool |
sql_unique_index_exists(string $table_name, string $index_name)
Check if a specified index exists in table. |
|
_sql_run_sql($statements)
Private method for performing sql statements (either execute them or return them) |
||
sql_prepare_column_data($table_name, $column_name, $column_data)
Function to prepare some column information for better usage |
||
array |
get_column_type(string $column_map_type)
Get the column's database type from the type map |
|
array|true |
sql_column_add(string $table_name, string $column_name, array $column_data, bool $inline = false)
Add new column |
|
array|true |
sql_column_remove(string $table_name, string $column_name, bool $inline = false)
Drop column |
|
array|true |
sql_index_drop(string $table_name, string $index_name)
Drop Index |
|
array|true |
sql_table_drop(string $table_name)
Drop Table |
|
array|true |
sql_create_primary_key(string $table_name, string|array $column, bool $inline = false)
Add primary key |
|
array|true |
sql_create_unique_index(string $table_name, string $index_name, string|array $column)
Add unique index |
|
array|true |
sql_create_index(string $table_name, string $index_name, string|array $column)
Add index |
|
array |
sql_list_index(string $table_name)
List all of the indices that belong to a table |
|
array|true |
sql_column_change(string $table_name, string $column_name, array $column_data, bool $inline = false)
Change column type (not name!) |
|
array |
get_existing_indexes(string $table_name, string $column_name, bool $unique = false)
Get a list with existing indexes for the column |
Details
at line 43
static public array
get_dbms_type_map()
Get the column types for every database we support
at line 190
public
__construct(driver_interface $db, bool $return_statements = false)
Constructor.
Set DB Object and set {@link $returnstatements returnstatements}.
at line 231
public null
set_return_statements(bool $return_statements)
Setter for {@link $returnstatements returnstatements}.
at line 239
public array
sql_list_tables()
Gets a list of tables in the database.
at line 278
public bool
sql_table_exists(string $table_name)
Check if table exists
at line 296
public array|true
sql_create_table(string $table_name, array $table_data)
Create SQL Table
at line 450
public null
perform_schema_changes(array $schema_changes)
Handle passed database update array.
Expected structure... Key being one of the following droptables: Drop tables addtables: Add tables changecolumns: Column changes (only type, not name) addcolumns: Add columns to a table dropkeys: Dropping keys dropcolumns: Removing/Dropping columns addprimarykeys: adding primary keys adduniqueindex: adding an unique index addindex: adding an index (can be column:indexsize 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}), )
at line 831
public array
sql_list_columns(string $table_name)
Gets a list of columns of a table.
at line 900
public bool
sql_column_exists(string $table_name, string $column_name)
Check whether a specified column exist in a table
at line 910
public bool
sql_index_exists(string $table_name, string $index_name)
Check if a specified index exists in table.
Does not return PRIMARY KEY and UNIQUE indexes.
at line 970
public bool
sql_unique_index_exists(string $table_name, string $index_name)
Check if a specified index exists in table.
NOTE: Does not return normal and PRIMARY KEY indexes
at line 1044
public
_sql_run_sql($statements)
Private method for performing sql statements (either execute them or return them)
at line 1075
public
sql_prepare_column_data($table_name, $column_name, $column_data)
Function to prepare some column information for better usage
at line 1188
public array
get_column_type(string $column_map_type)
Get the column's database type from the type map
at line 1244
public array|true
sql_column_add(string $table_name, string $column_name, array $column_data, bool $inline = false)
Add new column
at line 1278
public array|true
sql_column_remove(string $table_name, string $column_name, bool $inline = false)
Drop column
at line 1357
public array|true
sql_index_drop(string $table_name, string $index_name)
Drop Index
at line 1382
public array|true
sql_table_drop(string $table_name)
Drop Table
at line 1419
public array|true
sql_create_primary_key(string $table_name, string|array $column, bool $inline = false)
Add primary key
at line 1491
public array|true
sql_create_unique_index(string $table_name, string $index_name, string|array $column)
Add unique index
at line 1516
public array|true
sql_create_index(string $table_name, string $index_name, string|array $column)
Add index
at line 1606
public array
sql_list_index(string $table_name)
List all of the indices that belong to a table
NOTE: does not list - UNIQUE indices - PRIMARY keys
at line 1672
public array|true
sql_column_change(string $table_name, string $column_name, array $column_data, bool $inline = false)
Change column type (not name!)
at line 1825
public array
get_existing_indexes(string $table_name, string $column_name, bool $unique = false)
Get a list with existing indexes for the column