mrhhsg opened a new pull request, #66284:
URL: https://github.com/apache/doris/pull/66284
### What problem does this PR solve?
Issue Number: None
Related PR: None
Problem Summary: `group_array_intersect` and `group_array_union` discarded
the outer nullable type before aggregate function creation. As a result, the
nullable aggregate wrapper was not installed and masked payloads beneath NULL
array rows could participate in set operations, making semantically equivalent
`CASE` and `IF` expressions return different results.
This change preserves the original argument types for aggregate wrapper
creation and unwraps nullable types only for element type dispatch. Outer NULL
array rows are therefore skipped consistently, while nullable array-element
behavior remains unchanged.
### Release note
Fix `group_array_intersect` and `group_array_union` to ignore outer NULL
array rows consistently.
### Check List (For Author)
- Test:
- Build: `./build.sh --be --fe` (ASAN)
- Unit Test: `./run-be-ut.sh --run
--filter='AggGroupArrayIntersectTest.*'` (5 tests passed)
- Regression test: `query_p0/aggregate/group_array_intersect` (generated
output and rerun passed)
- Regression test:
`query_p0/sql_functions/aggregate_functions/test_aggregate_window_functions`
(generated output and rerun passed)
- Regression test: `nereids_syntax_p0/mv/load,agg_sync_mv` (generated
output and rerun passed)
- Regression test: the affected P1 MV assertions completed and generated
the expected results; the suite later hit the unrelated existing `Duplicate
column name '__stddev_1'` failure
- Format: `./build-support/check-format.sh`
- Static analysis: changed-line clang-tidy completed with no diagnostics
after local-only workarounds for the toolchain resource directory and an
unrelated baseline `NOLINTEND`
- Behavior changed: Yes (outer NULL array rows are ignored by group array
set operations)
- Does this need documentation: No
--
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]