-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[fix](orc) check all the cases before build_search_argument #44615
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](orc) check all the cases before build_search_argument #44615
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
TPC-H: Total hot run time: 39864 ms |
TPC-DS: Total hot run time: 197432 ms |
ClickBench: Total hot run time: 32.52 s |
|
TeamCity be ut coverage result: |
|
run buildall |
d2d6724 to
f06e0b5
Compare
|
run buildall |
TPC-H: Total hot run time: 39745 ms |
|
TeamCity be ut coverage result: |
TPC-DS: Total hot run time: 197189 ms |
ClickBench: Total hot run time: 33.08 s |
|
run external |
|
run buildall |
|
TeamCity be ut coverage result: |
TPC-H: Total hot run time: 39882 ms |
TPC-DS: Total hot run time: 196808 ms |
ClickBench: Total hot run time: 33.13 s |
Co-authored-by: Mingyu Chen (Rayner) <yunyou@selectdb.com>
…pache#44615) (apache#44801)" This reverts commit 4b15b1f.
…pache#44615) (apache#44802)" This reverts commit 88926d2.
revert: branch-3.0: [fix](orc) ignore null values when the literals of in_predicate contains #45104 (#45586) [fix](orc) check all the cases before build_search_argument (#44615) (#44802) branch-3.0: [enhance](orc) Optimize ORC Predicate Pushdown for OR-connected Predicate #43255 (#44436) re-pick: branch-3.0: [Fix](ORC) Not push down fixed char type in orc reader #45484 (#45525) --------- Co-authored-by: Socrates <suyiteng@selectdb.com>
…4615) In the old logic, the `check_expr_can_push_down` function does not check whether the `orc::Literal` are constructed successfully, but only checks during `build_search_argument`. However, if it is found that the `orc::Literal` fails to be constructed after `builder->startNot`, it will fail because the builder cannot end `startNot`. Therefore, we advance the behavior of constructing `orc::Literal` to the `check_expr_can_push_down` function and save the result to the map, so that it will never fail in the `build_search_argument` phase. Related PR: apache#43255
…4615) In the old logic, the `check_expr_can_push_down` function does not check whether the `orc::Literal` are constructed successfully, but only checks during `build_search_argument`. However, if it is found that the `orc::Literal` fails to be constructed after `builder->startNot`, it will fail because the builder cannot end `startNot`. Therefore, we advance the behavior of constructing `orc::Literal` to the `check_expr_can_push_down` function and save the result to the map, so that it will never fail in the `build_search_argument` phase. Related PR: apache#43255
…4615) In the old logic, the `check_expr_can_push_down` function does not check whether the `orc::Literal` are constructed successfully, but only checks during `build_search_argument`. However, if it is found that the `orc::Literal` fails to be constructed after `builder->startNot`, it will fail because the builder cannot end `startNot`. Therefore, we advance the behavior of constructing `orc::Literal` to the `check_expr_can_push_down` function and save the result to the map, so that it will never fail in the `build_search_argument` phase. Related PR: apache#43255
…4615) In the old logic, the `check_expr_can_push_down` function does not check whether the `orc::Literal` are constructed successfully, but only checks during `build_search_argument`. However, if it is found that the `orc::Literal` fails to be constructed after `builder->startNot`, it will fail because the builder cannot end `startNot`. Therefore, we advance the behavior of constructing `orc::Literal` to the `check_expr_can_push_down` function and save the result to the map, so that it will never fail in the `build_search_argument` phase. Related PR: apache#43255
) In the old logic, the `check_expr_can_push_down` function does not check whether the `orc::Literal` are constructed successfully, but only checks during `build_search_argument`. However, if it is found that the `orc::Literal` fails to be constructed after `builder->startNot`, it will fail because the builder cannot end `startNot`. Therefore, we advance the behavior of constructing `orc::Literal` to the `check_expr_can_push_down` function and save the result to the map, so that it will never fail in the `build_search_argument` phase. Related PR: apache#43255 Conflicts: be/src/vec/exec/format/orc/vorc_reader.cpp be/test/vec/exec/orc_reader_test.cpp
What problem does this PR solve?
In the old logic, the
check_expr_can_push_downfunction does not check whether theorc::Literalare constructed successfully, but only checks duringbuild_search_argument. However, if it is found that theorc::Literalfails to be constructed afterbuilder->startNot, it will fail because the builder cannot endstartNot.Therefore, we advance the behavior of constructing
orc::Literalto thecheck_expr_can_push_downfunction and save the result to the map, so that it will never fail in thebuild_search_argumentphase.Related PR: #43255
Problem Summary:
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)