mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-28 02:21:59 +00:00
dbms: fixed error with ARRAY JOIN and UNION ALL [#METR-18646].
This commit is contained in:
parent
1a01606bf6
commit
c3a196904f
@ -1440,8 +1440,14 @@ void ExpressionAnalyzer::getArrayJoinedColumns()
|
||||
|
||||
ASTs & query_asts = select_query->children;
|
||||
for (const auto & ast : query_asts)
|
||||
{
|
||||
/// Не опускаемся в подзапросы и UNION.
|
||||
if (typeid_cast<const ASTSelectQuery *>(ast.get()))
|
||||
continue;
|
||||
|
||||
if (ast != select_query->array_join_expression_list)
|
||||
getArrayJoinedColumnsImpl(ast);
|
||||
}
|
||||
|
||||
/// Если результат ARRAY JOIN не используется, придется все равно по-ARRAY-JOIN-ить какой-нибудь столбец,
|
||||
/// чтобы получить правильное количество строк.
|
||||
@ -1514,7 +1520,7 @@ void ExpressionAnalyzer::getArrayJoinedColumnsImpl(ASTPtr ast)
|
||||
else
|
||||
{
|
||||
for (auto & child : ast->children)
|
||||
if (!typeid_cast<ASTSelectQuery *>(&*child))
|
||||
if (!typeid_cast<const ASTSelectQuery *>(&*child))
|
||||
getArrayJoinedColumnsImpl(child);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user