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

Method buildSelectOrUnionExpression

src/Analyzer/QueryTreeBuilder.cpp:165–185  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

163}
164
165QueryTreeNodePtr QueryTreeBuilder::buildSelectOrUnionExpression(
166 const ASTPtr & select_or_union_query,
167 bool is_subquery,
168 const CommonTableExpressionData & cte_data,
169 const ASTPtr & aliases,
170 const ContextPtr & context) const
171{
172 QueryTreeNodePtr query_node;
173
174 if (select_or_union_query->as<ASTSelectWithUnionQuery>())
175 query_node = buildSelectWithUnionExpression(select_or_union_query, is_subquery, cte_data, nullptr /*aliases*/, context);
176 else if (select_or_union_query->as<ASTSelectIntersectExceptQuery>())
177 query_node = buildSelectIntersectExceptQuery(select_or_union_query, is_subquery, cte_data, context);
178 else if (select_or_union_query->as<ASTSelectQuery>())
179 query_node = buildSelectExpression(select_or_union_query, is_subquery, cte_data, aliases, context);
180 else
181 throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "SELECT or UNION query {} is not supported",
182 select_or_union_query->formatForErrorMessage());
183
184 return query_node;
185}
186
187QueryTreeNodePtr QueryTreeBuilder::buildSelectWithUnionExpression(
188 const ASTPtr & select_with_union_query,

Callers

nothing calls this directly

Calls 2

ExceptionClass · 0.50
formatForErrorMessageMethod · 0.45

Tested by

no test coverage detected