|
|
|
@ -149,6 +149,30 @@ class rcube_db_mysql extends rcube_db
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns list of tables in a database
|
|
|
|
|
*
|
|
|
|
|
* @return array List of all tables of the current database
|
|
|
|
|
*/
|
|
|
|
|
public function list_tables()
|
|
|
|
|
{
|
|
|
|
|
// get tables if not cached
|
|
|
|
|
if ($this->tables === null) {
|
|
|
|
|
// first fetch current database name
|
|
|
|
|
$d = $this->query("SELECT database()");
|
|
|
|
|
$d = $this->fetch_array($d);
|
|
|
|
|
|
|
|
|
|
// get list of tables in current database
|
|
|
|
|
$q = $this->query("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES"
|
|
|
|
|
. " WHERE TABLE_SCHEMA = ? AND TABLE_TYPE = 'BASE TABLE'"
|
|
|
|
|
. " ORDER BY TABLE_NAME", $d ? $d[0] : '');
|
|
|
|
|
|
|
|
|
|
$this->tables = $q ? $q->fetchAll(PDO::FETCH_COLUMN, 0) : array();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $this->tables;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get database runtime variables
|
|
|
|
|
*
|
|
|
|
|