ClickHouse/src/Interpreters/ApplyWithGlobalVisitor.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

26 lines
744 B
C++
Raw Normal View History

2020-09-29 16:32:41 +00:00
#pragma once
#include <Parsers/IAST.h>
#include <map>
2020-09-29 16:32:41 +00:00
namespace DB
{
class ASTSelectWithUnionQuery;
class ASTSelectQuery;
2021-11-01 13:19:31 +00:00
class ASTSelectIntersectExceptQuery;
2020-09-29 16:32:41 +00:00
/// Pull out the WITH statement from the first child of ASTSelectWithUnion query if any.
class ApplyWithGlobalVisitor
{
public:
static void visit(ASTPtr & ast);
private:
static void visit(ASTSelectWithUnionQuery & selects, const std::map<String, ASTPtr> & exprs, const ASTPtr & with_expression_list);
static void visit(ASTSelectQuery & select, const std::map<String, ASTPtr> & exprs, const ASTPtr & with_expression_list);
2021-11-01 13:19:31 +00:00
static void visit(ASTSelectIntersectExceptQuery & select, const std::map<String, ASTPtr> & exprs, const ASTPtr & with_expression_list);
2020-09-29 16:32:41 +00:00
};
}