Skip to content

Stop copying LogicalPlan and Exprs in PropagateEmptyRelation #10290

@alamb

Description

@alamb

Is your feature request related to a problem or challenge?

Part of #9637

As part of making the planner faster, we are updating the optimizer passes to avoid copying LogicalPlan and Expr (see #9637)

Describe the solution you'd like

I would like to reduce the amount of copying in this pass (even though it doesn't appear in current profiling)

Describe alternatives you've considered

Apply the model from @Lordworms in #10166 to this pass
2. Update OptimizerRule::supports_rewrite` to return true

  1. Update OptimizerRule to use rewrite
  2. Update the pass itself to not copy the LogicalPlan (ideally using the TreeNode API) - it is implemented for LogicalPlan (API) and Expr (API)

Other examples: #10218

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions