Class anonymous_namespace{RelAlgDagBuilder.cpp}::anonymous_namespace{RelAlgDagBuilder.cpp}::RexInputReplacementVisitorΒΆ

class

The RexInputReplacement visitor visits each node in a given relational algebra expression and replaces the inputs to that expression with inputs from a different node in the RA tree. Used for coalescing nodes with complex expressions.

Public Functions

anonymous_namespace{RelAlgDagBuilder.cpp}::anonymous_namespace{RelAlgDagBuilder.cpp}::RexInputReplacementVisitor::RexInputReplacementVisitor(const RelAlgNode * node_to_keep, const std::vector< std::unique_ptr< const RexScalar >> & scalar_sources)
RetType anonymous_namespace{RelAlgDagBuilder.cpp}::anonymous_namespace{RelAlgDagBuilder.cpp}::RexInputReplacementVisitor::visitInput(const RexInput * input) const

Private Members

const RelAlgNode* anonymous_namespace{RelAlgDagBuilder.cpp}::anonymous_namespace{RelAlgDagBuilder.cpp}::RexInputReplacementVisitor::node_to_keep_
const std::vector<std::unique_ptr<const RexScalar> >& anonymous_namespace{RelAlgDagBuilder.cpp}::anonymous_namespace{RelAlgDagBuilder.cpp}::RexInputReplacementVisitor::scalar_sources_