#pragma once #include #include #include #include namespace DB { /// Evaluates constants in DDL query. class NormalizeAndEvaluateConstants : public DDLMatcherBase { public: struct Data { ContextPtr create_query_context; }; using Visitor = ConstInDepthNodeVisitor; static void visit(const ASTPtr & ast, Data & data); private: static void visit(const ASTFunction & function, Data & data); static void visit(const ASTFunctionWithKeyValueArguments & dict_source, Data & data); }; using NormalizeAndEvaluateConstantsVisitor = NormalizeAndEvaluateConstants::Visitor; }