#pragma once #include #include namespace DB { /** DROP query */ class ASTDropQuery : public ASTQueryWithTableAndOutput, public ASTQueryWithOnCluster { public: enum Kind { Drop, Detach, Truncate, }; Kind kind; bool if_exists{false}; /** Get the text that identifies this element. */ String getID() const override; ASTPtr clone() const override; ASTPtr getRewrittenASTWithoutOnCluster(const std::string & new_database) const override { return removeOnCluster(clone(), new_database); } protected: void formatQueryImpl(const FormatSettings & settings, FormatState &, FormatStateStacked) const override; }; }