| 270 | } |
| 271 | |
| 272 | ASTPtr queryNodeToDistributedSelectQuery(const QueryTreeNodePtr & query_node) |
| 273 | { |
| 274 | /// Remove CTEs information from distributed queries. |
| 275 | /// Now, if cte_name is set for subquery node, AST -> String serialization will only print cte name. |
| 276 | /// But CTE is defined only for top-level query part, so may not be sent. |
| 277 | /// Removing cte_name forces subquery to be always printed. |
| 278 | auto ast = queryNodeToSelectQuery(query_node, /*set_subquery_cte_name=*/false); |
| 279 | |
| 280 | deduplicateProjectionAliasesRecursive(ast); |
| 281 | |
| 282 | return ast; |
| 283 | } |
| 284 | |
| 285 | namespace |
| 286 | { |
no test coverage detected