HappenLee opened a new pull request, #68478:
URL: https://github.com/apache/doris/pull/68478
### What problem does this PR solve?
Issue Number: N/A
Related PR: #54509, #56398
`linear_histogram(boolean_column, 1.0)` passes FE analysis but fails on BE
with `Agg Function linear_histogram(boolean, double) is not implemented`. The
factory refactor in #54509 omitted the existing BOOLEAN case from the new type
list.
Restore BOOLEAN in the shared creator list, covering both the two-argument
and offset variants. Reuse the existing histogram implementation and nullable
adapter. Add BOOLEAN unit tests for empty inputs, bucket results, state
serialization and merging, plus SQL regression coverage for
nullable/non-nullable inputs, grouping, empty/all-null input and invalid bucket
parameters.
### Release note
Fix BOOLEAN inputs to `linear_histogram` failing with a
function-not-implemented error.
### Check List (For Author)
- Test:
- [x] Regression test: `test_linear_histogram_boolean` on a local FE/BE
ASAN build; generated output and result comparison.
- [ ] Unit Test: `AggLinearHistogramTest.*` (running).
- Behavior changed:
- [x] Yes. Restore the previously supported BOOLEAN input type.
- Does this need documentation?
- [x] No. This restores existing behavior.
Validation also includes BE/FE builds, header hygiene, formatting and `git
diff --check`.
Clang-tidy was attempted with the build compilation database; the baseline
`be/src/core/types.h` contains an unmatched
`NOLINTEND(readability-function-size)` directive, preventing a clean run.
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label
--
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]