MCPcopy Create free account
hub / github.com/ClickHouse/ClickHouse / buildQueryTreeNode

Method buildQueryTreeNode

src/Analyzer/QueryTreeBuilder.cpp:148–163  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

146};
147
148QueryTreeNodePtr QueryTreeBuilder::buildQueryTreeNode(ASTPtr query_, ContextPtr context_)
149{
150 auto query = query_->clone();
151 QueryTreeNodePtr query_tree_node;
152
153 if (query->as<ASTSelectWithUnionQuery>() ||
154 query->as<ASTSelectIntersectExceptQuery>() ||
155 query->as<ASTSelectQuery>())
156 query_tree_node = buildSelectOrUnionExpression(query, false /*is_subquery*/, {} /*cte_name*/, nullptr /*aliases*/, context_);
157 else if (query->as<ASTExpressionList>())
158 query_tree_node = buildExpressionList(query, context_);
159 else
160 query_tree_node = buildExpression(query, context_);
161
162 return query_tree_node;
163}
164
165QueryTreeNodePtr QueryTreeBuilder::buildSelectOrUnionExpression(
166 const ASTPtr & select_or_union_query,

Callers 1

buildQueryTreeFunction · 0.80

Calls 1

cloneMethod · 0.45

Tested by

no test coverage detected