You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As with_new_children clones the most fields of the plan, we could make clone cheaper, arcing immutable parts that may be long (projection, different expressions), the issue suggests to:
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 and filter expressions within AggregateExec.
Store arced expr, null_expr, groups in PhysicalGroupBy.
Also, to simplify implementation, we could improve project_schema and Statistics::project methods to get Option<impl AsRef<[usize]>> instead of the Option<&Vec<usize>> as Option<&Vec> always could be borrowed as deref.
Activity
askalt commentedon Jan 16, 2026
take
Wrap immutable plan parts into Arc
Wrap immutable plan parts into Arc
Wrap immutable plan parts into Arc
Wrap immutable plan parts into Arc
Wrap immutable plan parts into Arc
Wrap immutable plan parts into Arc
Wrap immutable plan parts into Arc
Wrap immutable plan parts into Arc
Wrap immutable plan parts into Arc
Wrap immutable plan parts into Arc
Wrap immutable plan parts into Arc
Wrap immutable plan parts into Arc
Wrap immutable plan parts into Arc
Wrap immutable plan parts into Arc (make creating `ExecutionPlan`s le…
Wrap immutable plan parts into Arc (make creating `ExecutionPlan`s le…