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]

Reply via email to