protected function getMeta($table, $database)
    {
        $uid = spl_object_hash($database);
        if (isset(self::$meta[$uid][$table])) {
            return self::$meta[$uid][$table];
        }
        
        $columns = $database->getColumns($table);
        
        $meta = array();
        foreach ($columns as $i => $column) {
            $meta[self::COLUMNS][$column['Field']] = array(
                'type'      => $column['Type'],
                'key'       => $column['Key'],
                'default'   => $column['Default'],
                'empty'     => $column['Null'] == 'YES');
            
            if ($column['Key'] == 'PRI') {
                $meta[self::PRIMARY][] = $column['Field'];
            }
        }
        
        self::$meta[$uid][$table] = $meta;
        
        return $meta;
    }