-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[fix](inverted index) fix the issue where need_read_data does not handle non-pushdown conditions #36292
Conversation
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
run buildall |
clang-tidy review says "All clean, LGTM! 👍" |
TeamCity be ut coverage result: |
TPC-H: Total hot run time: 39950 ms
|
TPC-DS: Total hot run time: 170569 ms
|
ClickBench: Total hot run time: 31.12 s
|
75570c3
to
28dc01a
Compare
run buildall |
clang-tidy review says "All clean, LGTM! 👍" |
TeamCity be ut coverage result: |
run buildall |
TeamCity be ut coverage result: |
TPC-H: Total hot run time: 39402 ms
|
TPC-DS: Total hot run time: 170570 ms
|
ClickBench: Total hot run time: 31.35 s
|
28dc01a
to
9c0450b
Compare
run buildall |
clang-tidy review says "All clean, LGTM! 👍" |
TPC-H: Total hot run time: 40832 ms
|
TeamCity be ut coverage result: |
TPC-DS: Total hot run time: 172024 ms
|
ClickBench: Total hot run time: 30.43 s
|
9c0450b
to
a94a7f6
Compare
run buildall |
clang-tidy review says "All clean, LGTM! 👍" |
TeamCity be ut coverage result: |
TPC-H: Total hot run time: 39923 ms
|
TPC-DS: Total hot run time: 170624 ms
|
ClickBench: Total hot run time: 31.03 s
|
TPC-H: Total hot run time: 40618 ms
|
TPC-DS: Total hot run time: 174468 ms
|
ClickBench: Total hot run time: 30.9 s
|
if (!_check_apply_by_inverted_index(pred)) { | ||
continue; | ||
} | ||
push_down_preds.insert(_gen_predicate_result_sign(pred)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pred may not be evaluated by index even if _check_apply_by_inverted_index(pred) return true due to skip index based on hit ratio. So push_down_preds.contains(column_sign) can not guarantee that the pred for column_sing can be skipped.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section only calculates which conditions definitely require data reading, the conditions that do not require data reading are computed in other logical calculations.
@@ -984,7 +1012,7 @@ std::string SegmentIterator::_gen_predicate_result_sign(ColumnPredicate* predica | |||
|
|||
std::string col_name = column_desc->name(); | |||
|
|||
if (column_desc->path() != nullptr) { | |||
if (column_desc->path() != nullptr && !_storage_name_and_type.empty()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this another problem?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
PR approved by anyone and no changes requested. |
PR approved by at least one committer and no changes requested. |
…dle non-pushdown conditions apache#36292 (apache#36491)
…dle non-pushdown conditions
Proposed changes