Source of file SQL.php
Size: 3,919 Bytes - Last Modified: 2015-07-16T15:31:56-04:00
../src/Query/Drivers/Sqlite/SQL.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 | <?php /** * Query * * Free Query Builder / Database Abstraction Layer * * @package Query * @author Timothy J. Warren * @copyright Copyright (c) 2012 - 2014 * @link https://github.com/aviat4ion/Query * @license http://philsturgeon.co.uk/code/dbad-license */ // -------------------------------------------------------------------------- namespace Query\Drivers\Sqlite; /** * SQLite Specific SQL * * @package Query * @subpackage Drivers */ class SQL extends \Query\Abstract_SQL { /** * Get the query plan for the sql query * * @param string $sql * @return string */ public function explain($sql) { return "EXPLAIN QUERY PLAN {$sql}"; } // -------------------------------------------------------------------------- /** * Random ordering keyword * * @return string */ public function random() { return ' RANDOM()'; } // -------------------------------------------------------------------------- /** * Returns sql to list other databases * * @return string */ public function db_list() { return 'PRAGMA database_list'; } // -------------------------------------------------------------------------- /** * Returns sql to list tables * * @return string */ public function table_list() { return <<<SQL SELECT DISTINCT "name" FROM "sqlite_master" WHERE "type"='table' AND "name" NOT LIKE 'sqlite_%' ORDER BY "name" DESC SQL; } // -------------------------------------------------------------------------- /** * List the system tables * * @return string[] */ public function system_table_list() { return array('sqlite_master', 'sqlite_temp_master', 'sqlite_sequence'); } // -------------------------------------------------------------------------- /** * Returns sql to list views * * @return string */ public function view_list() { return <<<SQL SELECT "name" FROM "sqlite_master" WHERE "type" = 'view' SQL; } // -------------------------------------------------------------------------- /** * Returns sql to list triggers * * @return string */ public function trigger_list() { return 'SELECT "name" FROM "sqlite_master" WHERE "type"=\'trigger\''; } // -------------------------------------------------------------------------- /** * Return sql to list functions * * @return NULL */ public function function_list() { return NULL; } // -------------------------------------------------------------------------- /** * Return sql to list stored procedures * * @return NULL */ public function procedure_list() { return NULL; } // -------------------------------------------------------------------------- /** * Return sql to list sequences * * @return NULL */ public function sequence_list() { return NULL; } // -------------------------------------------------------------------------- /** * SQL to show list of field types * * @return string[] */ public function type_list() { return array('INTEGER', 'REAL', 'TEXT', 'BLOB'); } // -------------------------------------------------------------------------- /** * SQL to show infromation about columns in a table * * @param string $table * @return string */ public function column_list($table) { return 'PRAGMA table_info("'.$table.'")'; } // -------------------------------------------------------------------------- /** * Get the list of foreign keys for the current * table * * @param string $table * @return string */ public function fk_list($table) { return 'PRAGMA foreign_key_list("' . $table . '")'; } // -------------------------------------------------------------------------- /** * Get the list of indexes for the current table * * @param string $table * @return string */ public function index_list($table) { return 'PRAGMA index_list("' . $table . '")'; } } //End of sqlite_sql.php |