summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorDamien Regad <dregad@mantisbt.org>2026-02-08 12:47:21 +0100
committerDamien Regad <dregad@mantisbt.org>2026-02-11 18:23:19 +0100
commit52a8fbebeb1e24b363e38019a786c1e5ee8cff37 (patch)
treebdbf5474addb85792e1754ab9e45ab783e0e4a72 /drivers
parent149709c394fcc0b4210adcce04e9640a64fcdd37 (diff)
downloadadodb-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.php26
-rw-r--r--drivers/adodb-pdo_mysql.inc.php5
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