提交 54cba2f5 编写于 作者: Z zhang2014

Fix exist subquery when create materializer view

上级 37f90345
......@@ -44,9 +44,14 @@ static void extractDependentTable(const ASTSelectQuery & query, String & select_
select_database_name = typeid_cast<const ASTIdentifier &>(*query_database).name;
select_table_name = ast_id->name;
}
else if (auto ast_select = typeid_cast<const ASTSelectQuery *>(query_table.get()))
else if (auto ast_select = typeid_cast<const ASTSelectWithUnionQuery *>(query_table.get()))
{
extractDependentTable(*ast_select, select_database_name, select_table_name);
if (ast_select->list_of_selects->children.size() != 1)
throw Exception("UNION is not supported for MATERIALIZED VIEW", ErrorCodes::INCORRECT_QUERY);
auto inner_query = ast_select->list_of_selects->children.at(0);
extractDependentTable(typeid_cast<const ASTSelectQuery &>(*inner_query), select_database_name, select_table_name);
}
else
throw Exception("Logical error while creating StorageMaterializedView."
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册