mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-21 09:10:48 +00:00
Fix error
This commit is contained in:
parent
c610a4b0a8
commit
70273725d5
@ -37,19 +37,6 @@ public:
|
||||
const DataTypes & arguments,
|
||||
const Array & params) const override
|
||||
{
|
||||
/// If applied to aggregate function with -State combinator, we apply -Null combinator to it's nested_function instead of itself.
|
||||
/// Because Nullable AggregateFunctionState does not make sense and ruins the logic of managing aggregate function states.
|
||||
|
||||
if (const AggregateFunctionState * function_state = typeid_cast<const AggregateFunctionState *>(nested_function.get()))
|
||||
{
|
||||
auto transformed_nested_function = transformAggregateFunction(function_state->getNestedFunction(), properties, arguments, params);
|
||||
|
||||
return std::make_shared<AggregateFunctionState>(
|
||||
transformed_nested_function,
|
||||
transformed_nested_function->getArgumentTypes(),
|
||||
transformed_nested_function->getParameters());
|
||||
}
|
||||
|
||||
bool has_nullable_types = false;
|
||||
bool has_null_types = false;
|
||||
for (const auto & arg_type : arguments)
|
||||
@ -85,6 +72,19 @@ public:
|
||||
if (auto adapter = nested_function->getOwnNullAdapter(nested_function, arguments, params))
|
||||
return adapter;
|
||||
|
||||
/// If applied to aggregate function with -State combinator, we apply -Null combinator to it's nested_function instead of itself.
|
||||
/// Because Nullable AggregateFunctionState does not make sense and ruins the logic of managing aggregate function states.
|
||||
|
||||
if (const AggregateFunctionState * function_state = typeid_cast<const AggregateFunctionState *>(nested_function.get()))
|
||||
{
|
||||
auto transformed_nested_function = transformAggregateFunction(function_state->getNestedFunction(), properties, arguments, params);
|
||||
|
||||
return std::make_shared<AggregateFunctionState>(
|
||||
transformed_nested_function,
|
||||
transformed_nested_function->getArgumentTypes(),
|
||||
transformed_nested_function->getParameters());
|
||||
}
|
||||
|
||||
bool return_type_is_nullable = !properties.returns_default_when_only_null && nested_function->getReturnType()->canBeInsideNullable();
|
||||
bool serialize_flag = return_type_is_nullable || properties.returns_default_when_only_null;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user