public function columns()
    {
        if (!isset($this->_columns)) {
            $this->_columns = array();

            foreach ($this->_connection->execute("SHOW COLUMNS FROM ".$this->_name->quoted()) as $c) {
                $column = $c['Field'];
                unset($c['Field']);
                $this->_columns[$column] = $c;
            }
        }

        return $this->_columns;
    }