mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-25 17:12:03 +00:00
add ASTs for DROP WORKLOAD and DROP RESOURCE
This commit is contained in:
parent
6b6cfd4e16
commit
93bcf2d8bc
25
src/Parsers/ASTDropResourceQuery.cpp
Normal file
25
src/Parsers/ASTDropResourceQuery.cpp
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#include <Parsers/ASTDropResourceQuery.h>
|
||||||
|
#include <Common/quoteString.h>
|
||||||
|
#include <IO/Operators.h>
|
||||||
|
|
||||||
|
namespace DB
|
||||||
|
{
|
||||||
|
|
||||||
|
ASTPtr ASTDropResourceQuery::clone() const
|
||||||
|
{
|
||||||
|
return std::make_shared<ASTDropResourceQuery>(*this);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ASTDropResourceQuery::formatImpl(const IAST::FormatSettings & settings, IAST::FormatState &, IAST::FormatStateStacked) const
|
||||||
|
{
|
||||||
|
settings.ostr << (settings.hilite ? hilite_keyword : "") << "DROP RESOURCE ";
|
||||||
|
|
||||||
|
if (if_exists)
|
||||||
|
settings.ostr << "IF EXISTS ";
|
||||||
|
|
||||||
|
settings.ostr << (settings.hilite ? hilite_none : "");
|
||||||
|
settings.ostr << (settings.hilite ? hilite_identifier : "") << backQuoteIfNeed(resource_name) << (settings.hilite ? hilite_none : "");
|
||||||
|
formatOnCluster(settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
28
src/Parsers/ASTDropResourceQuery.h
Normal file
28
src/Parsers/ASTDropResourceQuery.h
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <Parsers/IAST.h>
|
||||||
|
#include <Parsers/ASTQueryWithOnCluster.h>
|
||||||
|
|
||||||
|
|
||||||
|
namespace DB
|
||||||
|
{
|
||||||
|
|
||||||
|
class ASTDropResourceQuery : public IAST, public ASTQueryWithOnCluster
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
String resource_name;
|
||||||
|
|
||||||
|
bool if_exists = false;
|
||||||
|
|
||||||
|
String getID(char) const override { return "DropResourceQuery"; }
|
||||||
|
|
||||||
|
ASTPtr clone() const override;
|
||||||
|
|
||||||
|
void formatImpl(const FormatSettings & s, FormatState & state, FormatStateStacked frame) const override;
|
||||||
|
|
||||||
|
ASTPtr getRewrittenASTWithoutOnCluster(const WithoutOnClusterASTRewriteParams &) const override { return removeOnCluster<ASTDropResourceQuery>(clone()); }
|
||||||
|
|
||||||
|
QueryKind getQueryKind() const override { return QueryKind::Drop; }
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
25
src/Parsers/ASTDropWorkloadQuery.cpp
Normal file
25
src/Parsers/ASTDropWorkloadQuery.cpp
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#include <Parsers/ASTDropWorkloadQuery.h>
|
||||||
|
#include <Common/quoteString.h>
|
||||||
|
#include <IO/Operators.h>
|
||||||
|
|
||||||
|
namespace DB
|
||||||
|
{
|
||||||
|
|
||||||
|
ASTPtr ASTDropWorkloadQuery::clone() const
|
||||||
|
{
|
||||||
|
return std::make_shared<ASTDropWorkloadQuery>(*this);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ASTDropWorkloadQuery::formatImpl(const IAST::FormatSettings & settings, IAST::FormatState &, IAST::FormatStateStacked) const
|
||||||
|
{
|
||||||
|
settings.ostr << (settings.hilite ? hilite_keyword : "") << "DROP WORKLOAD ";
|
||||||
|
|
||||||
|
if (if_exists)
|
||||||
|
settings.ostr << "IF EXISTS ";
|
||||||
|
|
||||||
|
settings.ostr << (settings.hilite ? hilite_none : "");
|
||||||
|
settings.ostr << (settings.hilite ? hilite_identifier : "") << backQuoteIfNeed(workload_name) << (settings.hilite ? hilite_none : "");
|
||||||
|
formatOnCluster(settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
28
src/Parsers/ASTDropWorkloadQuery.h
Normal file
28
src/Parsers/ASTDropWorkloadQuery.h
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <Parsers/IAST.h>
|
||||||
|
#include <Parsers/ASTQueryWithOnCluster.h>
|
||||||
|
|
||||||
|
|
||||||
|
namespace DB
|
||||||
|
{
|
||||||
|
|
||||||
|
class ASTDropWorkloadQuery : public IAST, public ASTQueryWithOnCluster
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
String workload_name;
|
||||||
|
|
||||||
|
bool if_exists = false;
|
||||||
|
|
||||||
|
String getID(char) const override { return "DropWorkloadQuery"; }
|
||||||
|
|
||||||
|
ASTPtr clone() const override;
|
||||||
|
|
||||||
|
void formatImpl(const FormatSettings & s, FormatState & state, FormatStateStacked frame) const override;
|
||||||
|
|
||||||
|
ASTPtr getRewrittenASTWithoutOnCluster(const WithoutOnClusterASTRewriteParams &) const override { return removeOnCluster<ASTDropWorkloadQuery>(clone()); }
|
||||||
|
|
||||||
|
QueryKind getQueryKind() const override { return QueryKind::Drop; }
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user