Mryange opened a new pull request, #69911:
URL: https://github.com/apache/doris/pull/69911

   ### What problem does this PR solve?
   
   Issue Number: N/A
   
   Problem Summary:
   
   Scan output projections currently run on scanner threads before blocks are 
queued, so CPU-heavy expressions delay block publication and duplicate the 
common operator projection implementation. Move intermediate and final output 
projections to pipeline threads, reuse the common implementation, and apply the 
scan LIMIT before evaluating expressions. Keep scanner filtering and 
small-block padding, and use the raw schema for queued blocks and their reuse.
   
   ### Release note
   
   Run scan output projections on pipeline threads and skip expression 
evaluation for rows discarded by the scan LIMIT.
   
   ### Check List (For Author)
   
   - Test
       - [ ] Unit Test: added coverage for raw blocks, LIMIT, intermediate 
projections, NULLs, constants, empty blocks, error propagation, block reuse, 
and memory reservation; not run.
       - Validation: clang-format 16, build hygiene, and git diff --check 
passed. Build and runtime tests were not run.
   - Behavior changed:
       - [x] Yes. Scan output projections run after the scan LIMIT on pipeline 
threads; discarded rows no longer evaluate projection expressions.
   - Does this need documentation?
       - [x] No.
   
   ### 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]

Reply via email to