-
Notifications
You must be signed in to change notification settings - Fork 590
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
feat(optimizer): improve pull_up_correlated_predicate_agg_rule to optimize TPCH Q17 #15383
feat(optimizer): improve pull_up_correlated_predicate_agg_rule to optimize TPCH Q17 #15383
Conversation
I am not sure if it could be better in stream because the streaming OverWindow operator is more expensive |
It reminds me why our agg executor could emit messages when the barrier arrives, however, window executor can't do it in the same way? |
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.
generally LGTM, maybe add the case #15026 (comment) in the planner test?
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.
The improved TPC q17 LGTM!
link: #14799 (comment)
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
let mut agg_null_bitset = FixedBitSet::with_capacity(agg.base.schema().len()); | ||
for pos in null_agg_pos { | ||
agg_null_bitset.insert(pos); | ||
} |
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.
Are you looking for FixedBitSet::from_iter
?
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.
I need to ensure the capacity of this bitset is agg.base.schema().len()
.
I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
count
aggcall forpull_up_correlated_predicate_agg_rule
if it can be proved that the row generated by empty input finally being able to be eliminated.Window
operator, but it is out of the scope of this PR.Checklist
./risedev check
(or alias,./risedev c
)Documentation
Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.