diff --git a/lib/dml/mssql_native_moodle_database.php b/lib/dml/mssql_native_moodle_database.php index 18e76812dcb..6e8b3577e69 100644 --- a/lib/dml/mssql_native_moodle_database.php +++ b/lib/dml/mssql_native_moodle_database.php @@ -351,10 +351,12 @@ class mssql_native_moodle_database extends moodle_database { if ($result) { while ($row = mssql_fetch_row($result)) { $tablename = reset($row); - if (strpos($tablename, $this->prefix) !== 0) { - continue; + if ($this->prefix !== '') { + if (strpos($tablename, $this->prefix) !== 0) { + continue; + } + $tablename = substr($tablename, strlen($this->prefix)); } - $tablename = substr($tablename, strlen($this->prefix)); $this->tables[$tablename] = $tablename; } $this->free_result($result); diff --git a/lib/dml/oci_native_moodle_database.php b/lib/dml/oci_native_moodle_database.php index 8beaf21d2a1..a529277b1e8 100644 --- a/lib/dml/oci_native_moodle_database.php +++ b/lib/dml/oci_native_moodle_database.php @@ -419,10 +419,12 @@ class oci_native_moodle_database extends moodle_database { oci_free_statement($stmt); $records = array_map('strtolower', $records['TABLE_NAME']); foreach ($records as $tablename) { - if (strpos($tablename, $this->prefix) !== 0) { - continue; + if ($this->prefix !== '') { + if (strpos($tablename, $this->prefix) !== 0) { + continue; + } + $tablename = substr($tablename, strlen($this->prefix)); } - $tablename = substr($tablename, strlen($this->prefix)); $this->tables[$tablename] = $tablename; } diff --git a/lib/dml/pgsql_native_moodle_database.php b/lib/dml/pgsql_native_moodle_database.php index 7262f65a5f6..3d9771dfcd1 100644 --- a/lib/dml/pgsql_native_moodle_database.php +++ b/lib/dml/pgsql_native_moodle_database.php @@ -297,10 +297,12 @@ class pgsql_native_moodle_database extends moodle_database { if ($result) { while ($row = pg_fetch_row($result)) { $tablename = reset($row); - if (strpos($tablename, $this->prefix) !== 0) { - continue; + if ($this->prefix !== '') { + if (strpos($tablename, $this->prefix) !== 0) { + continue; + } + $tablename = substr($tablename, strlen($this->prefix)); } - $tablename = substr($tablename, strlen($this->prefix)); $this->tables[$tablename] = $tablename; } pg_free_result($result); diff --git a/lib/dml/sqlite3_pdo_moodle_database.php b/lib/dml/sqlite3_pdo_moodle_database.php index 01731fc6c4a..c52b2f1916a 100644 --- a/lib/dml/sqlite3_pdo_moodle_database.php +++ b/lib/dml/sqlite3_pdo_moodle_database.php @@ -152,10 +152,13 @@ class sqlite3_pdo_moodle_database extends pdo_moodle_database { foreach ($rstables as $table) { $table = $table['name']; $table = strtolower($table); - if (empty($this->prefix) || strpos($table, $this->prefix) === 0) { + if ($this->prefix !== '') { + if (strpos($table, $this->prefix) !== 0) { + continue; + } $table = substr($table, strlen($this->prefix)); - $tables[$table] = $table; } + $tables[$table] = $table; } return $tables; } diff --git a/lib/dml/sqlsrv_native_moodle_database.php b/lib/dml/sqlsrv_native_moodle_database.php index 2147e6c0a6c..5fe2ab2107d 100644 --- a/lib/dml/sqlsrv_native_moodle_database.php +++ b/lib/dml/sqlsrv_native_moodle_database.php @@ -401,10 +401,12 @@ class sqlsrv_native_moodle_database extends moodle_database { if ($result) { while ($row = sqlsrv_fetch_array($result)) { $tablename = reset($row); - if (strpos($tablename, $this->prefix) !== 0) { - continue; + if ($this->prefix !== '') { + if (strpos($tablename, $this->prefix) !== 0) { + continue; + } + $tablename = substr($tablename, strlen($this->prefix)); } - $tablename = substr($tablename, strlen($this->prefix)); $this->tables[$tablename] = $tablename; } $this->free_result($result);