#pragma once #include #include namespace DB { /** DROP USER [IF EXISTS] name [,...] * DROP ROLE [IF EXISTS] name [,...] * DROP QUOTA [IF EXISTS] name [,...] * DROP [ROW] POLICY [IF EXISTS] name [,...] ON [database.]table [,...] */ class ASTDropAccessEntityQuery : public IAST { public: enum class Kind { USER, ROLE, QUOTA, ROW_POLICY, }; const Kind kind; const char * const keyword; bool if_exists = false; Strings names; std::vector row_policies_names; ASTDropAccessEntityQuery(Kind kind_); String getID(char) const override; ASTPtr clone() const override; void formatImpl(const FormatSettings & settings, FormatState &, FormatStateStacked) const override; }; }