private function hasExactlyOneColumn()
    {
        if (count($this->columns) != 1 || strpos($this->columns[0], '*') !== false) {
            return false;
        }

        if (strpos($this->columns[0], ',') === false) {
            return true;
        }

        // The column expression includes a comma. Is this a separator for columns or for function arguments?
        $column = $this->columns[0];
        $n = strlen($column);
        $braces = 0;
        for ($i = 0; $i < $n; $i++) {
            $ch = $column[$i];
            if ($braces == 0 && $ch == ',') {
                return false; // comma separator found!
            }
            else if ($ch == '(') {
                $braces++;
            }
            else if ($ch == ')') {
                $braces--;
            }
        }

        return true;
    }