#715906 by Damien Tournoud: Fixed Schema tests fail on PostgreSQL.

merge-requests/26/head
Angie Byron 2010-02-17 05:26:10 +00:00
parent dcb47ed24d
commit 2f097f48cb
1 changed files with 6 additions and 3 deletions

View File

@ -378,7 +378,8 @@ class DatabaseSchema_pgsql extends DatabaseSchema {
}
public function indexExists($table, $name) {
return $this->connection->query("SELECT COUNT(indexname) FROM pg_indexes WHERE indexname = '$name'")->fetchField();
$index_name = $table . '_' . $name . '_idx';
return $this->connection->query("SELECT COUNT(indexname) FROM pg_indexes WHERE indexname = '$index_name'")->fetchField();
}
/**
@ -578,8 +579,10 @@ class DatabaseSchema_pgsql extends DatabaseSchema {
$table = $this->connection->prefixTables('{' . $table . '}');
// Don't use {} around pg_class, pg_attribute tables.
if (isset($column)) {
$this->connection->query('SELECT col_description(oid, attnum) FROM pg_class, pg_attribute WHERE attrelid = oid AND relname = ? AND attname = ?', array($table, $column))->fetchField();
return $this->connection->query('SELECT col_description(oid, attnum) FROM pg_class, pg_attribute WHERE attrelid = oid AND relname = ? AND attname = ?', array($table, $column))->fetchField();
}
else {
return $this->connection->query('SELECT obj_description(oid, ?) FROM pg_class WHERE relname = ?', array('pg_class', $table))->fetchField();
}
$this->connection->query('SELECT obj_description(oid, ?) FROM pg_class WHERE relname = ?', array('pg_class', $table))->fetchField();
}
}