mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-18 21:51:57 +00:00
Added ConvertColumnWithDictionaryToFullBlockInputStream.
This commit is contained in:
parent
0897d2a9c4
commit
535e883770
@ -63,6 +63,8 @@ AggregateFunctionPtr AggregateFunctionFactory::get(
|
|||||||
const Array & parameters,
|
const Array & parameters,
|
||||||
int recursion_level) const
|
int recursion_level) const
|
||||||
{
|
{
|
||||||
|
auto type_without_dictionary = convertTypesWithDictionaryToNested(argument_types);
|
||||||
|
|
||||||
/// If one of types is Nullable, we apply aggregate function combinator "Null".
|
/// If one of types is Nullable, we apply aggregate function combinator "Null".
|
||||||
|
|
||||||
if (std::any_of(argument_types.begin(), argument_types.end(),
|
if (std::any_of(argument_types.begin(), argument_types.end(),
|
||||||
@ -72,7 +74,7 @@ AggregateFunctionPtr AggregateFunctionFactory::get(
|
|||||||
if (!combinator)
|
if (!combinator)
|
||||||
throw Exception("Logical error: cannot find aggregate function combinator to apply a function to Nullable arguments.", ErrorCodes::LOGICAL_ERROR);
|
throw Exception("Logical error: cannot find aggregate function combinator to apply a function to Nullable arguments.", ErrorCodes::LOGICAL_ERROR);
|
||||||
|
|
||||||
DataTypes nested_types = combinator->transformArguments(convertTypesWithDictionaryToNested(argument_types));
|
DataTypes nested_types = combinator->transformArguments(type_without_dictionary);
|
||||||
|
|
||||||
AggregateFunctionPtr nested_function;
|
AggregateFunctionPtr nested_function;
|
||||||
|
|
||||||
@ -85,7 +87,7 @@ AggregateFunctionPtr AggregateFunctionFactory::get(
|
|||||||
return combinator->transformAggregateFunction(nested_function, argument_types, parameters);
|
return combinator->transformAggregateFunction(nested_function, argument_types, parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto res = getImpl(name, argument_types, parameters, recursion_level);
|
auto res = getImpl(name, type_without_dictionary, parameters, recursion_level);
|
||||||
if (!res)
|
if (!res)
|
||||||
throw Exception("Logical error: AggregateFunctionFactory returned nullptr", ErrorCodes::LOGICAL_ERROR);
|
throw Exception("Logical error: AggregateFunctionFactory returned nullptr", ErrorCodes::LOGICAL_ERROR);
|
||||||
return res;
|
return res;
|
||||||
|
Loading…
Reference in New Issue
Block a user