mrhhsg opened a new pull request, #69686:
URL: https://github.com/apache/doris/pull/69686
### What problem does this PR solve?
Issue Number: None
Related PR: #68500
Problem Summary: The non-spill analytic sink expanded each NTILE literal
bucket argument to every input row and appended it to a buffered argument
column. NTILE reads only the first value, so the extra materialization and
storage grew with the number of retained rows. Store one bucket value per NTILE
function from the first nonempty input Block and retain it when old input rows
are pruned. Other window functions continue to use their row-wise argument
columns. Query results are unchanged.
### Release note
None
### Check List (For Author)
- Test:
- Unit Test: ASAN `AnalyticSinkOperatorTest.*` (65 tests), including the
new multi-Block, multi-partition pruning case.
- Regression test: `spill_p0/window_function_spill` and
`query_p0/sql_functions/window_functions/test_ntile_function` (one suite each,
zero failures).
- Build and static checks: ASAN BE/FE build (including FE Checkstyle),
clang-format, check-format, build hygiene, clang-tidy on changed lines, and
`git diff --check`.
- Behavior changed: No (SQL results are unchanged; NTILE argument storage in
the non-spill path is reduced).
- 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]