mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-24 16:42:05 +00:00
Allow only SELECT queries in EXPLAIN AST used inside subquery
This commit is contained in:
parent
a2d37aba4d
commit
c2543d0316
@ -140,6 +140,9 @@ bool ParserSubquery::parseImpl(Pos & pos, ASTPtr & node, Expected & expected)
|
|||||||
const ASTPtr & explained_ast = explain_query.getExplainedQuery();
|
const ASTPtr & explained_ast = explain_query.getExplainedQuery();
|
||||||
if (explained_ast)
|
if (explained_ast)
|
||||||
{
|
{
|
||||||
|
if (!explained_ast->as<ASTSelectWithUnionQuery>())
|
||||||
|
throw Exception(ErrorCodes::BAD_ARGUMENTS, "EXPLAIN inside subquery supports only SELECT queries");
|
||||||
|
|
||||||
auto view_explain = makeASTFunction("viewExplain",
|
auto view_explain = makeASTFunction("viewExplain",
|
||||||
std::make_shared<ASTLiteral>(kind_str),
|
std::make_shared<ASTLiteral>(kind_str),
|
||||||
std::make_shared<ASTLiteral>(settings_str),
|
std::make_shared<ASTLiteral>(settings_str),
|
||||||
|
@ -0,0 +1,4 @@
|
|||||||
|
SELECT * FROM ( EXPLAIN AST CREATE TABLE test ENGINE=Memory ); -- {clientError BAD_ARGUMENTS}
|
||||||
|
SELECT * FROM ( EXPLAIN AST CREATE MATERIALIZED VIEW mv (data String) AS SELECT data FROM table ); -- {clientError BAD_ARGUMENTS}
|
||||||
|
SELECT * FROM ( EXPLAIN AST INSERT INTO TABLE test VALUES); -- {clientError BAD_ARGUMENTS}
|
||||||
|
SELECT * FROM ( EXPLAIN AST ALTER TABLE test MODIFY COLUMN x UInt32 ); -- {clientError BAD_ARGUMENTS}
|
Loading…
Reference in New Issue
Block a user