datafusion_optimizer

Module utils

Source
Expand description

Utility functions leveraged by the query optimizer rules

Structs§

  • Re-export of NamesPreserver for backwards compatibility, as it was initially placed here and then moved elsewhere. Handles ensuring the name of rewritten expressions is not changed.

Functions§

  • Determine whether a predicate can restrict NULLs. e.g. c0 > 8 return true; c0 IS NULL return false.
  • Log the plan in debug/tracing mode after some part of the optimizer runs
  • Convenience rule for writing optimizers: recursively invoke optimize on plan’s children and then return a node of the same type. Useful for optimizer rules which want to leave the type of plan unchanged but still apply to the children. This also handles the case when the plan is a LogicalPlan::Explain.