Uh oh!
There was an error while loading. Please reload this page.
[refactor](topn) Refactor topn filter push down - #59005
Conversation
hello-stephen
commented
Dec 12, 2025
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
Gabriel39
commented
Dec 12, 2025
run buildall |
Gabriel39
commented
Dec 15, 2025
run buildall |
doris-robot
commented
Dec 15, 2025
TPC-H: Total hot run time: 35493 ms |
doris-robot
commented
Dec 15, 2025
TPC-DS: Total hot run time: 179478 ms |
doris-robot
commented
Dec 15, 2025
ClickBench: Total hot run time: 27.47 s |
hello-stephen
commented
Dec 15, 2025
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
hello-stephen
commented
Dec 15, 2025
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
Gabriel39
commented
Dec 15, 2025
run buildall |
doris-robot
commented
Dec 15, 2025
TPC-H: Total hot run time: 35151 ms |
doris-robot
commented
Dec 15, 2025
TPC-DS: Total hot run time: 178751 ms |
doris-robot
commented
Dec 15, 2025
ClickBench: Total hot run time: 27.65 s |
doris-robot
commented
Dec 15, 2025
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
hello-stephen
commented
Dec 15, 2025
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
PR approved by at least one committer and no changes requested. |
PR approved by anyone and no changes requested. |
| int64_t index = DORIS_TRY(_contexts[target_node_id].get_field_index()); | ||
| DCHECK(_contexts[target_node_id].predicate != nullptr); | ||
| assert_cast<SharedPredicate*>(_contexts[target_node_id].predicate.get()) | ||
| ->set_column_id(cast_set<uint32_t>(index)); |
| _parent->cast<typename Derived::Parent>()._slot_id_to_slot_desc[slot->slot_id()]; | ||
| return _is_predicate_acting_on_slot(slot, range); | ||
| }; | ||
| auto topn_predicate_checker = [&](const vectorized::VExprSPtrs& children, |
There was a problem hiding this comment.
我们为什么在一个函数里,定义这么多lambda,而不是写多个函数呢?
Uh oh!
There was an error while loading. Please reload this page.
| slot_id_to_slot_desc[get_texpr(target_node_id).nodes[0].slot_ref.slot_id] | ||
| ->col_name(), | ||
| desc.debug_string(), | ||
| slot_id_to_slot_desc[get_texpr(target_node_id).nodes[0].slot_ref.slot_id] |
TopN filter should be push down from scan operators like other predicates.
### What problem does this PR solve? pick #57397#58283#58290#58282#58832#58905#58960#59005#59088#59098#59126#59187#59581#59625#59775 ### Check List (For Author) - Test <!-- At least one of them must be included. --> - [ ] Regression test - [ ] Unit Test - [ ] Manual test (add detailed scripts or steps below) - [ ] No need to test or manual test. Explain why: - [ ] This is a refactor/code format and no logic has been changed. - [ ] Previous test can cover this change. - [ ] No code files have been changed. - [ ] Other reason <!-- Add your reason? --> - Behavior changed: - [ ] No. - [ ] Yes. <!-- Explain the behavior change --> - Does this need documentation? - [ ] No. - [ ] Yes. <!-- Add document PR link here. eg: apache/doris-website#1214 --> ### Check List (For Reviewer who merge this PR) - [ ] Confirm the release note - [ ] Confirm test cases - [ ] Confirm document - [ ] Add branch pick label <!-- Add branch pick label that this PR should merge into -->
### What problem does this PR solve? pick apache#57397apache#58283apache#58290apache#58282apache#58832apache#58905apache#58960apache#59005apache#59088apache#59098apache#59126apache#59187apache#59581apache#59625apache#59775 ### Check List (For Author) - Test <!-- At least one of them must be included. --> - [ ] Regression test - [ ] Unit Test - [ ] Manual test (add detailed scripts or steps below) - [ ] No need to test or manual test. Explain why: - [ ] This is a refactor/code format and no logic has been changed. - [ ] Previous test can cover this change. - [ ] No code files have been changed. - [ ] Other reason <!-- Add your reason? --> - Behavior changed: - [ ] No. - [ ] Yes. <!-- Explain the behavior change --> - Does this need documentation? - [ ] No. - [ ] Yes. <!-- Add document PR link here. eg: apache/doris-website#1214 --> ### Check List (For Reviewer who merge this PR) - [ ] Confirm the release note - [ ] Confirm test cases - [ ] Confirm document - [ ] Add branch pick label <!-- Add branch pick label that this PR should merge into -->
What problem does this PR solve?
TopN filter should be push down from scan operators like other predicates.
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)