1 | #pragma once |
---|---|
2 | |
3 | #include <Parsers/IAST.h> |
4 | #include <Parsers/ASTFunction.h> |
5 | #include <Parsers/ASTSelectQuery.h> |
6 | #include <Parsers/ASTSelectWithUnionQuery.h> |
7 | #include <Interpreters/InDepthNodeVisitor.h> |
8 | |
9 | namespace DB |
10 | { |
11 | |
12 | struct ExtractFunctionData |
13 | { |
14 | using TypeToVisit = ASTFunction; |
15 | |
16 | std::vector<ASTFunction *> functions; |
17 | std::vector<ASTFunction *> aggregate_functions; |
18 | |
19 | void visit(ASTFunction & identifier, ASTPtr &); |
20 | }; |
21 | |
22 | using ExtractFunctionMatcher = OneTypeMatcher<ExtractFunctionData>; |
23 | using ExtractFunctionVisitor = InDepthNodeVisitor<ExtractFunctionMatcher, true>; |
24 | |
25 | } |
26 |