Browse Source

Fixes #1435: pgsql getTableNames() should not prefix table names with schema name.

tags/2.0.0-beta
Qiang Xue 11 years ago
parent
commit
64ef54bf18
  1. 7
      framework/yii/db/pgsql/Schema.php

7
framework/yii/db/pgsql/Schema.php

@ -156,8 +156,7 @@ class Schema extends \yii\db\Schema
/** /**
* Returns all table names in the database. * Returns all table names in the database.
* @param string $schema the schema of the tables. Defaults to empty string, meaning the current or default schema. * @param string $schema the schema of the tables. Defaults to empty string, meaning the current or default schema.
* If not empty, the returned table names will be prefixed with the schema name. * @return array all table names in the database. The names have NO schema name prefix.
* @return array all table names in the database.
*/ */
protected function findTableNames($schema = '') protected function findTableNames($schema = '')
{ {
@ -173,11 +172,7 @@ EOD;
$rows = $command->queryAll(); $rows = $command->queryAll();
$names = []; $names = [];
foreach ($rows as $row) { foreach ($rows as $row) {
if ($schema === $this->defaultSchema) {
$names[] = $row['table_name']; $names[] = $row['table_name'];
} else {
$names[] = $row['table_schema'] . '.' . $row['table_name'];
}
} }
return $names; return $names;
} }

Loading…
Cancel
Save