```
milovidov-desktop :) SELECT -1::INT

Syntax error: failed at position 10 ('::')
```
{
    ParserIdentifier id_parser;
    ParserKeyword view("VIEW");
    ParserSelectWithUnionQuery select;
    ASTPtr identifier;
    ASTPtr query;
    if (!view.ignore(pos, expected))
        return false;
    if (pos->type != TokenType::OpeningRoundBracket)
        return false;
    ++pos;
    bool maybe_an_subquery = pos->type == TokenType::OpeningRoundBracket;
    if (!select.parse(pos, query, expected))
        return false;
    auto & select_ast = query->as<ASTSelectWithUnionQuery &>();
    if (select_ast.list_of_selects->children.size() == 1 && maybe_an_subquery)
    {
        
        return false;
    }
    if (pos->type != TokenType::ClosingRoundBracket)
        return false;
    ++pos;
    auto function_node = std::make_shared<ASTFunction>();
    tryGetIdentifierNameInto(identifier, function_node->name);
    auto expr_list_with_single_query = std::make_shared<ASTExpressionList>();
    expr_list_with_single_query->children.push_back(query);
    function_node->name = "view";
    function_node->arguments = expr_list_with_single_query;