diff options
| author | Damien Regad <dregad@mantisbt.org> | 2026-02-08 12:47:21 +0100 |
|---|---|---|
| committer | Damien Regad <dregad@mantisbt.org> | 2026-02-11 18:23:19 +0100 |
| commit | 52a8fbebeb1e24b363e38019a786c1e5ee8cff37 (patch) | |
| tree | bdbf5474addb85792e1754ab9e45ab783e0e4a72 /drivers | |
| parent | 149709c394fcc0b4210adcce04e9640a64fcdd37 (diff) | |
| download | adodb-52a8fbebeb1e24b363e38019a786c1e5ee8cff37.tar.gz adodb-52a8fbebeb1e24b363e38019a786c1e5ee8cff37.tar.bz2 adodb-52a8fbebeb1e24b363e38019a786c1e5ee8cff37.zip | |
mysqli: use ADOConnection::metaDatabases()
Define $metaDatabasesSQL in the driver-specific class and remove the
ADODB_mysqli::metaDatabases() method override, let the parent do the
job.
Also define the meta query for the PDO mysql driver.
Fixes #1162
(cherry picked from commit bb7d863311425c0f2ea1cb9334285d845e5e6e63)
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/adodb-mysqli.inc.php | 26 | ||||
| -rw-r--r-- | drivers/adodb-pdo_mysql.inc.php | 5 |
2 files changed, 8 insertions, 23 deletions
diff --git a/drivers/adodb-mysqli.inc.php b/drivers/adodb-mysqli.inc.php index c40e49ae..a79467a3 100644 --- a/drivers/adodb-mysqli.inc.php +++ b/drivers/adodb-mysqli.inc.php @@ -44,7 +44,10 @@ class ADODB_mysqli extends ADOConnection { var $dataProvider = 'mysql'; var $hasInsertID = true; var $hasAffectedRows = true; - var $metaTablesSQL = "SELECT + var $metaDatabasesSQL = "SHOW DATABASES + WHERE `database` NOT IN ('mysql', 'information_schema', 'performance_schema')"; + var $metaTablesSQL = /** @lang text */ + "SELECT TABLE_NAME, CASE WHEN TABLE_TYPE = 'VIEW' THEN 'V' ELSE 'T' END FROM INFORMATION_SCHEMA.TABLES @@ -631,27 +634,6 @@ class ADODB_mysqli extends ADOConnection { } /** - * Return a list of all visible databases except the 'mysql' database. - * - * @return array|false An array of database names, or false if the query failed. - */ - function MetaDatabases() - { - $query = "SHOW DATABASES"; - $ret = $this->execute($query); - if ($ret && is_object($ret)){ - $arr = array(); - while (!$ret->EOF){ - $db = $ret->fields('Database'); - if ($db != 'mysql') $arr[] = $db; - $ret->moveNext(); - } - return $arr; - } - return $ret; - } - - /** * Get a list of indexes on the specified table. * * @param string $table The name of the table to get indexes for. diff --git a/drivers/adodb-pdo_mysql.inc.php b/drivers/adodb-pdo_mysql.inc.php index 60b63c90..0adc246c 100644 --- a/drivers/adodb-pdo_mysql.inc.php +++ b/drivers/adodb-pdo_mysql.inc.php @@ -21,7 +21,10 @@ class ADODB_pdo_mysql extends ADODB_pdo { - var $metaTablesSQL = "SELECT + var $metaDatabasesSQL = "SHOW DATABASES + WHERE `database` NOT IN ('mysql', 'information_schema', 'performance_schema')"; + var $metaTablesSQL = /** @lang text */ + "SELECT TABLE_NAME, CASE WHEN TABLE_TYPE = 'VIEW' THEN 'V' ELSE 'T' END FROM INFORMATION_SCHEMA.TABLES |
