1#include <iostream>
2
3#include <Parsers/ParserQueryWithOutput.h>
4#include <Parsers/parseQuery.h>
5#include <Parsers/formatAST.h>
6
7
8int main(int, char **)
9try
10{
11 using namespace DB;
12
13 std::string input =
14 " SELECT 18446744073709551615, f(1), '\\\\', [a, b, c], (a, b, c), 1 + 2 * -3, a = b OR c > d.1 + 2 * -g[0] AND NOT e < f * (x + y)"
15 " FROM default.hits"
16 " WHERE CounterID = 101500 AND UniqID % 3 = 0"
17 " GROUP BY UniqID"
18 " HAVING SUM(Refresh) > 100"
19 " ORDER BY Visits, PageViews"
20 " LIMIT LENGTH('STRING OF 20 SYMBOLS') - 20 + 1000, 10.05 / 5.025 * 5"
21 " INTO OUTFILE 'test.out'"
22 " FORMAT TabSeparated";
23
24 ParserQueryWithOutput parser;
25 ASTPtr ast = parseQuery(parser, input.data(), input.data() + input.size(), "", 0);
26
27 std::cout << "Success." << std::endl;
28 formatAST(*ast, std::cerr);
29 std::cout << std::endl;
30
31 return 0;
32}
33catch (...)
34{
35 std::cerr << DB::getCurrentExceptionMessage(true) << "\n";
36 return 1;
37}
38