-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Wrap immutable plan parts into Arc #19893
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
base: main
Are you sure you want to change the base?
Conversation
b9caf1d to
bb97763
Compare
|
run benchmark reset_plan_states |
|
🤖 Hi @askalt, thanks for the request (#19893 (comment)). |
|
@xudong963 could you please |
|
run benchmark reset_plan_states |
|
🤖 |
|
🤖: Benchmark completed Details
|
70a396a to
3614687
Compare
3614687 to
bb97763
Compare
bb97763 to
f2d829a
Compare
- Closes apache#19852 Improve performance of query planning and plan state re-set by making node clone cheap. - Store projection as `Option<Arc<[usize]>>` instead of `Option<Vec<usize>>` in `FilterExec`, `HashJoinExec`, `NestedLoopJoinExec`. - Store exprs as `Arc<[ProjectionExpr]>` instead of Vec in `ProjectionExprs`. - Store arced aggregation, filter, group by expressions within `AggregateExec`.
f2d829a to
050e6bb
Compare
|
I understand that we wanna avoid breaking changes and hence are kinda liberal with Hence I would favor if we could avoid these |
Actually, I also think that using a generic here isn't justified, since |
Which issue does this PR close?
Arc#19852Rationale for this change
Improve performance of query planning and plan state re-set by making node clone cheap.
What changes are included in this PR?
Option<Arc<[usize]>>instead ofOption<Vec<usize>>inFilterExec,HashJoinExec,NestedLoopJoinExec.Arc<[ProjectionExpr]>instead of Vec inProjectionExprs.AggregateExec.