mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-10-09 10:00:54 +00:00
97f2a2213e
* Move some code outside dbms/src folder * Fix paths
38 lines
1015 B
C++
38 lines
1015 B
C++
#include <iostream>
|
|
|
|
#include <Parsers/ParserQueryWithOutput.h>
|
|
#include <Parsers/parseQuery.h>
|
|
#include <Parsers/formatAST.h>
|
|
|
|
|
|
int main(int, char **)
|
|
try
|
|
{
|
|
using namespace DB;
|
|
|
|
std::string input =
|
|
" 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)"
|
|
" FROM default.hits"
|
|
" WHERE CounterID = 101500 AND UniqID % 3 = 0"
|
|
" GROUP BY UniqID"
|
|
" HAVING SUM(Refresh) > 100"
|
|
" ORDER BY Visits, PageViews"
|
|
" LIMIT LENGTH('STRING OF 20 SYMBOLS') - 20 + 1000, 10.05 / 5.025 * 5"
|
|
" INTO OUTFILE 'test.out'"
|
|
" FORMAT TabSeparated";
|
|
|
|
ParserQueryWithOutput parser;
|
|
ASTPtr ast = parseQuery(parser, input.data(), input.data() + input.size(), "", 0);
|
|
|
|
std::cout << "Success." << std::endl;
|
|
formatAST(*ast, std::cerr);
|
|
std::cout << std::endl;
|
|
|
|
return 0;
|
|
}
|
|
catch (...)
|
|
{
|
|
std::cerr << DB::getCurrentExceptionMessage(true) << "\n";
|
|
return 1;
|
|
}
|