protected function _fetchColumns()
    {
        $columns = $this->_database->query(
            'SELECT ' .
            implode(',', $this->_informationSchemaColumns) .
            ' FROM information_schema.columns WHERE table_schema=? AND LOWER(table_name)=? ORDER BY ordinal_position',
            array(
                $this->_database->getTableSchema(),
                $this->_name,
            )
        );
        foreach ($columns as $column) {
            $column['column_name'] = strtolower($column['column_name']);
            $object = $this->_database->createColumnObject();
            $object->constructFromTable($this, $column);
            $this->_columns[$column['column_name']] = $object;
        }
    }