protected function _fetchConstraints()
    {
        $constraints = $this->_database->query(
            <<<EOT
            SELECT kcu.column_name
            FROM information_schema.key_column_usage kcu
            JOIN information_schema.table_constraints tc
            USING (table_schema, table_name, constraint_schema, constraint_name)
            WHERE tc.constraint_type = 'PRIMARY KEY'
            AND tc.table_schema = ?
            AND LOWER(tc.table_name) = ?
            ORDER BY kcu.ordinal_position
EOT
            ,
            array(
                $this->_database->getTableSchema(),
                $this->_name,
            )
        );
        foreach ($constraints as $constraint) {
            $this->_primaryKey[] = $this->_columns[strtolower($constraint['column_name'])];
        }
    }
protected function _fetchConstraints()
    {
        $constraints = $this->_database->query(
            <<<EOT
            SELECT kcu.column_name
            FROM information_schema.key_column_usage kcu
            JOIN information_schema.table_constraints tc
            USING (table_schema, table_name, constraint_schema, constraint_name)
            WHERE tc.constraint_type = 'PRIMARY KEY'
            AND tc.table_schema = ?
            AND LOWER(tc.table_name) = ?
            ORDER BY kcu.ordinal_position
EOT
            ,
            array(
                $this->_database->getTableSchema(),
                $this->_name,
            )
        );
        foreach ($constraints as $constraint) {
            $this->_primaryKey[] = $this->_columns[strtolower($constraint['column_name'])];
        }
    }
protected function _fetchConstraints ( ) { $ constraints = $ this -> _database -> query ( 
            <<<EOT
            SELECT kcu.column_name
            FROM information_schema.key_column_usage kcu
            JOIN information_schema.table_constraints tc
            USING (table_schema, table_name, constraint_schema, constraint_name)
            WHERE tc.constraint_type = 'PRIMARY KEY'
            AND tc.table_schema = ?
            AND LOWER(tc.table_name) = ?
            ORDER BY kcu.ordinal_position
EOT , array ( $ this -> _database -> getTableSchema ( ) , $ this -> _name , ) ) ; foreach ( $ constraints as $ constraint ) { $ this -> _primaryKey [ ] = $ this -> _columns [ strtolower ( $ constraint [ 'column_name' ] ) ] ; } }
Fetch constraint information from the database

Invoked by the constructor, the default implementation queries
information_schema.table_constraints and information_schema.key_column_usage.
To make this functional, subclasses must set
\Nada\Database\AbstractDatabase::$_tableSchema.

Only primary keys are recognized for now. All other constraints are
ignored.

@todo Recognize other constraint types
Fetch constraint information from the database