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;
|
NamesAndTypesList columns;
|
||||||
|
|
||||||
/// Столбцы после ARRAY JOIN и/или агрегации.
|
/// Столбцы после ARRAY JOIN, JOIN и/или агрегации.
|
||||||
NamesAndTypesList aggregated_columns;
|
NamesAndTypesList aggregated_columns;
|
||||||
|
|
||||||
/// Таблица, из которой делается запрос.
|
/// Таблица, из которой делается запрос.
|
||||||
|
@ -85,6 +85,13 @@ void ExpressionAction::prepare(Block & sample_block)
|
|||||||
{
|
{
|
||||||
// std::cerr << "preparing: " << toString() << std::endl;
|
// std::cerr << "preparing: " << toString() << std::endl;
|
||||||
|
|
||||||
|
/** Константные выражения следует вычислить, и положить результат в sample_block.
|
||||||
|
* Для неконстантных столбцов, следует в качестве column в sample_block положить nullptr.
|
||||||
|
*
|
||||||
|
* Тот факт, что только для константных выражений column != nullptr,
|
||||||
|
* может использоваться в дальнейшем при оптимизации запроса.
|
||||||
|
*/
|
||||||
|
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case APPLY_FUNCTION:
|
case APPLY_FUNCTION:
|
||||||
@ -156,7 +163,7 @@ void ExpressionAction::prepare(Block & sample_block)
|
|||||||
case JOIN:
|
case JOIN:
|
||||||
{
|
{
|
||||||
for (const auto & col : columns_added_by_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;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -152,6 +152,7 @@ void ExpressionAnalyzer::analyzeAggregation()
|
|||||||
|
|
||||||
group_asts.pop_back();
|
group_asts.pop_back();
|
||||||
i -= 1;
|
i -= 1;
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user