github-actions[bot] commented on code in PR #66284:
URL: https://github.com/apache/doris/pull/66284#discussion_r3681925180
##########
be/src/exprs/aggregate/aggregate_function_group_array_set_op_impl.h:
##########
@@ -33,8 +33,8 @@ template <template <PrimitiveType> class ImplNumericData,
typename ImplStringDat
inline AggregateFunctionPtr create_aggregate_function_group_array_impl(
const DataTypes& argument_types, const bool result_is_nullable,
const AggregateFunctionAttr& attr) {
- const auto& nested_type = remove_nullable(
- assert_cast<const
DataTypeArray&>(*(argument_types[0])).get_nested_type());
+ const auto& array_type = assert_cast<const
DataTypeArray&>(*remove_nullable(argument_types[0]));
Review Comment:
[P1] Fence pre-fix states for both set operations
This makes fresh aggregates skip outer NULL rows, but existing serialized
states keep the old meaning. Pre-fix `group_array_intersect_state` serialized
an ordinary outer NULL as `init=true,size=0`, so it permanently empties valid
states; pre-fix `group_array_union_state` could serialize a nonempty payload
hidden under an outer NULL (the `[99]` test shape is SQL-reachable through
`IF`), so spurious values survive. The unchanged AGG_STATE layout/function
compatibility check accepts both in existing columns or synchronous MVs, which
can then disagree with fresh direct queries after upgrade. Please fence both
function names from old states, provide rebuild/refresh handling, and add
upgrade tests for both byte patterns.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]