mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-23 10:10:50 +00:00
dbms: fixed error with JOIN [#METR-14847].
This commit is contained in:
parent
261a549407
commit
1e18ff37c6
@ -147,7 +147,7 @@ private:
|
||||
*/
|
||||
NamesAndTypesList columns;
|
||||
|
||||
/// Столбцы после ARRAY JOIN и/или агрегации.
|
||||
/// Столбцы после ARRAY JOIN, JOIN и/или агрегации.
|
||||
NamesAndTypesList aggregated_columns;
|
||||
|
||||
/// Таблица, из которой делается запрос.
|
||||
|
@ -85,6 +85,13 @@ void ExpressionAction::prepare(Block & sample_block)
|
||||
{
|
||||
// std::cerr << "preparing: " << toString() << std::endl;
|
||||
|
||||
/** Константные выражения следует вычислить, и положить результат в sample_block.
|
||||
* Для неконстантных столбцов, следует в качестве column в sample_block положить nullptr.
|
||||
*
|
||||
* Тот факт, что только для константных выражений column != nullptr,
|
||||
* может использоваться в дальнейшем при оптимизации запроса.
|
||||
*/
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case APPLY_FUNCTION:
|
||||
@ -156,7 +163,7 @@ void ExpressionAction::prepare(Block & sample_block)
|
||||
case JOIN:
|
||||
{
|
||||
for (const auto & col : columns_added_by_join)
|
||||
sample_block.insert(ColumnWithNameAndType(col.type->createColumn(), col.type, col.name));
|
||||
sample_block.insert(ColumnWithNameAndType(nullptr, col.type, col.name));
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -152,6 +152,7 @@ void ExpressionAnalyzer::analyzeAggregation()
|
||||
|
||||
group_asts.pop_back();
|
||||
i -= 1;
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user