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

class

Propagate an input backwards in the RA tree. With the exception of joins, all inputs must be carried through the RA tree. This visitor takes as a parameter a source projection RA Node, then checks to see if any inputs do not reference the source RA node (which implies the inputs reference a node farther back in the tree). The input is then backported to the source projection node, and a new input is generated which references the input on the source RA node, thereby carrying the input through the intermediate query step.

Public Functions

anonymous_namespace{RelAlgDagBuilder.cpp}::RexInputBackpropagationVisitor::RexInputBackpropagationVisitor(RelProject * node)

Protected Functions

RetType anonymous_namespace{RelAlgDagBuilder.cpp}::RexInputBackpropagationVisitor::visitInput(const RexInput * rex_input) const

Private Members

RelProject* anonymous_namespace{RelAlgDagBuilder.cpp}::RexInputBackpropagationVisitor::node_