#pragma once #include namespace DB { struct AsteriskSemantic; struct AsteriskSemanticImpl; /** Something like t.* * It will have qualifier as its child ASTIdentifier. */ class ASTQualifiedAsterisk : public IAST { public: String getID(char) const override { return "QualifiedAsterisk"; } ASTPtr clone() const override { auto clone = std::make_shared(*this); clone->cloneChildren(); return clone; } void appendColumnName(WriteBuffer & ostr) const override; protected: void formatImpl(const FormatSettings & settings, FormatState & state, FormatStateStacked frame) const override; private: std::shared_ptr semantic; /// pimpl friend struct AsteriskSemantic; }; }