protected function processColumns($cols)
 {
     if ($cols === false) {
         return $cols;
     }
     if ($cols[0] === '(' && substr($cols, -1) === ')') {
         $parsed = array('expr_type' => ExpressionType::BRACKET_EXPRESSION, 'base_expr' => $cols, 'sub_tree' => false);
     }
     $cols = $this->removeParenthesisFromStart($cols);
     if (stripos($cols, 'SELECT') === 0) {
         $processor = new DefaultProcessor($this->options);
         $parsed['sub_tree'] = array(array('expr_type' => ExpressionType::QUERY, 'base_expr' => $cols, 'sub_tree' => $processor->process($cols)));
     } else {
         $processor = new ColumnListProcessor($this->options);
         $parsed['sub_tree'] = $processor->process($cols);
         $parsed['expr_type'] = ExpressionType::COLUMN_LIST;
     }
     return $parsed;
 }
 protected function processColumnList($unparsed)
 {
     $processor = new ColumnListProcessor($this->options);
     $expr = $this->removeParenthesisFromStart($unparsed);
     return $processor->process($expr);
 }
 protected function processColumnList($unparsed)
 {
     $processor = new ColumnListProcessor($this->options);
     return $processor->process($unparsed);
 }