-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
[refactor](variant) refactor sub path push down on variant type #36478
[refactor](variant) refactor sub path push down on variant type #36478
Conversation
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
run buildall |
78d172c
to
ef7c773
Compare
run buildall |
09d4cc3
to
e728e47
Compare
run buildall |
TPC-H: Total hot run time: 39934 ms
|
TPC-DS: Total hot run time: 175748 ms
|
ClickBench: Total hot run time: 31.2 s
|
7b2546a
to
cf24bb2
Compare
run buildall |
7e0e2de
to
d5617fe
Compare
run buildall |
TPC-H: Total hot run time: 40076 ms
|
TPC-DS: Total hot run time: 173463 ms
|
ClickBench: Total hot run time: 30.93 s
|
d5617fe
to
cc9cdaf
Compare
run buildall |
clang-tidy review says "All clean, LGTM! 👍" |
TPC-H: Total hot run time: 40522 ms
|
TPC-DS: Total hot run time: 173610 ms
|
TeamCity be ut coverage result: |
ClickBench: Total hot run time: 30.72 s
|
cc9cdaf
to
e2479a6
Compare
run buildall |
PR approved by at least one committer and no changes requested. |
PR approved by anyone and no changes requested. |
intro a new rule VARIANT_SUB_PATH_PRUNING to prune variant sub path
b9eff65
to
8125377
Compare
run buildall |
TPC-H: Total hot run time: 39720 ms
|
run performance |
PR approved by at least one committer and no changes requested. |
TPC-H: Total hot run time: 40108 ms
|
TPC-DS: Total hot run time: 172351 ms
|
ClickBench: Total hot run time: 30.49 s
|
…he#36478) intro a new rule VARIANT_SUB_PATH_PRUNING to prune variant sub path. for example, variant slot v in table t has two sub path: 'c1' and 'c2', after this rule, select v['c1'] from t will only scan one sub path 'c1' of v to reduce scan time. This rule accomplishes all the work using two components. The Collector traverses from the top down, collecting all the element_at functions on the variant types, and recording the required path from the original variant slot to the current element_at. The Replacer traverses from the bottom up, generating the slots for the required sub path on scan, union, and cte consumer. Then, it replaces the element_at with the corresponding slot.
intro a new rule VARIANT_SUB_PATH_PRUNING to prune variant sub path. for example, variant slot v in table t has two sub path: 'c1' and 'c2', after this rule, select v['c1'] from t will only scan one sub path 'c1' of v to reduce scan time. This rule accomplishes all the work using two components. The Collector traverses from the top down, collecting all the element_at functions on the variant types, and recording the required path from the original variant slot to the current element_at. The Replacer traverses from the bottom up, generating the slots for the required sub path on scan, union, and cte consumer. Then, it replaces the element_at with the corresponding slot.
…he#36478) pick from master apache#36478 intro a new rule VARIANT_SUB_PATH_PRUNING to prune variant sub path. for example, variant slot v in table t has two sub path: 'c1' and 'c2', after this rule, select v['c1'] from t will only scan one sub path 'c1' of v to reduce scan time. This rule accomplishes all the work using two components. The Collector traverses from the top down, collecting all the element_at functions on the variant types, and recording the required path from the original variant slot to the current element_at. The Replacer traverses from the bottom up, generating the slots for the required sub path on scan, union, and cte consumer. Then, it replaces the element_at with the corresponding slot.
…) (#36923) pick from master #36478 intro a new rule VARIANT_SUB_PATH_PRUNING to prune variant sub path. for example, variant slot v in table t has two sub path: 'c1' and 'c2', after this rule, select v['c1'] from t will only scan one sub path 'c1' of v to reduce scan time. This rule accomplishes all the work using two components. The Collector traverses from the top down, collecting all the element_at functions on the variant types, and recording the required path from the original variant slot to the current element_at. The Replacer traverses from the bottom up, generating the slots for the required sub path on scan, union, and cte consumer. Then, it replaces the element_at with the corresponding slot.
intro a new rule VARIANT_SUB_PATH_PRUNING to prune variant sub path.
for example, variant slot v in table t has two sub path: 'c1' and 'c2', after this rule, select v['c1'] from t will only scan one sub path 'c1' of v to reduce scan time.
This rule accomplishes all the work using two components. The Collector traverses from the top down, collecting all the element_at functions on the variant types, and recording the required path from the original variant slot to the current element_at. The Replacer traverses from the bottom up, generating the slots for the required sub path on scan, union, and cte consumer. Then, it replaces the element_at with the corresponding slot.