![]() |
mutable
A Database System for Research and Fast Prototyping
|
A Producer
is an Operator
that can be evaluated to a sequence of tuples.
More...
#include <Operator.hpp>
Public Member Functions | |
Consumer * | parent () const |
Returns the parent of this Producer . | |
Consumer * | parent (Consumer *c) |
Sets the parent of this Producer . | |
Schema & | schema () |
Returns the Schema of this Operator . | |
const Schema & | schema () const |
Returns the Schema of this Operator . | |
bool | has_info () const |
OperatorInformation & | info () |
const OperatorInformation & | info () const |
std::unique_ptr< OperatorInformation > | info (std::unique_ptr< OperatorInformation > new_info) |
virtual void | assign_post_order_ids (std::size_t start_id=0UL) const |
Assigns IDs to the operator tree rooted in this in post-order starting with ID start_id . | |
virtual void | reset_ids () const |
Resets the IDs of the operator tree rooted in this . | |
std::size_t | id () const |
Returns the ID of this . | |
OperatorData * | data (OperatorData *data) const |
Attached OperatorData data to this Operator . | |
OperatorData * | data () const |
Returns the OperatorData attached to this Operator . | |
virtual void | accept (OperatorVisitor &v)=0 |
virtual void | accept (ConstOperatorVisitor &v) const =0 |
void | minimize_schema () |
Minimizes the Schema of this Operator . | |
void | dot (std::ostream &out) const |
Prints a representation of this Operator and its descendants in the dot language. | |
void | dump (std::ostream &out) const |
void | dump () const |
Protected Attributes | |
std::size_t | id_ = -1UL |
the ID of this Operator ; used as index in the DP table of PhysicalOperator | |
Private Member Functions | |
void | id (std::size_t id) const |
Sets the ID of this . | |
Private Attributes | |
Consumer * | parent_ |
the parent of this Producer | |
Schema | schema_ |
the schema of this Operator | |
std::unique_ptr< OperatorInformation > | info_ |
additional information about this Operator | |
OperatorData * | data_ = nullptr |
the data object associated to this Operator ; may be nullptr | |
A Producer
is an Operator
that can be evaluated to a sequence of tuples.
Definition at line 119 of file Operator.hpp.
|
pure virtualinherited |
|
pure virtualinherited |
|
inlinevirtualinherited |
Assigns IDs to the operator tree rooted in this
in post-order starting with ID start_id
.
Reimplemented in m::Consumer.
Definition at line 81 of file Operator.hpp.
Referenced by m::PhysicalOptimizerImpl< PhysicalPlanTable >::cover().
|
inlineinherited |
Returns the OperatorData
attached to this Operator
.
Definition at line 98 of file Operator.hpp.
|
inlineinherited |
Attached OperatorData
data
to this Operator
.
Returns the previously attached OperatorData
. May return nullptr
.
Definition at line 96 of file Operator.hpp.
References m::Operator::data().
Referenced by m::Operator::data().
|
inherited |
Prints a representation of this Operator
and its descendants in the dot language.
Definition at line 100 of file Operator.cpp.
References m::and, m::html_escape(), m::Operator::id(), m::to_string(), and m::visit().
|
inherited |
Definition at line 221 of file Operator.cpp.
References m::Operator::dump().
Referenced by m::Operator::dump().
|
inherited |
Definition at line 220 of file Operator.cpp.
|
inlineinherited |
Definition at line 71 of file Operator.hpp.
|
inlineinherited |
Returns the ID of this
.
Definition at line 85 of file Operator.hpp.
References M_insist.
Referenced by m::PhysicalOptimizerImpl< PhysicalPlanTable >::cover(), m::Operator::dot(), m::GroupingOperator::GroupingOperator(), and m::ProjectionOperator::ProjectionOperator().
|
inlineprivateinherited |
Sets the ID of this
.
Definition at line 91 of file Operator.hpp.
References m::Operator::id().
Referenced by m::Operator::id().
|
inlineinherited |
Definition at line 72 of file Operator.hpp.
References M_insist.
Referenced by m::Optimizer::optimize_source_plans().
|
inlineinherited |
Definition at line 73 of file Operator.hpp.
References m::Operator::info().
Referenced by m::Operator::info().
|
inlineinherited |
Definition at line 74 of file Operator.hpp.
References m::swap().
|
inherited |
Minimizes the Schema
of this Operator
.
The Schema
is reduced to the attributes actually required by ancestors of this Operator
in the plan.
Definition at line 562 of file Operator.cpp.
Referenced by __attribute__().
|
inline |
Returns the parent of this Producer
.
Definition at line 126 of file Operator.hpp.
Referenced by m::Consumer::add_child(), m::ProjectionOperator::add_child(), m::GroupingOperator::add_child(), m::AggregationOperator::add_child(), m::Consumer::set_child(), m::ProjectionOperator::set_child(), m::GroupingOperator::set_child(), and m::AggregationOperator::set_child().
Sets the parent of this Producer
.
Returns the previous parent. May return nullptr
.
Definition at line 128 of file Operator.hpp.
|
inlinevirtualinherited |
Resets the IDs of the operator tree rooted in this
.
Reimplemented in m::Consumer.
Definition at line 83 of file Operator.hpp.
|
inlineinherited |
Returns the Schema
of this Operator
.
Definition at line 67 of file Operator.hpp.
Referenced by m::Consumer::add_child(), m::ProjectionOperator::add_child(), m::GroupingOperator::add_child(), m::AggregationOperator::AggregationOperator(), m::Match< wasm::Scan< SIMDfied > >::execute(), m::Match< wasm::IndexScan< IndexMethod > >::execute(), m::Match< wasm::Filter< Predicated > >::execute(), m::Match< wasm::LazyDisjunctiveFilter >::execute(), m::Match< wasm::Projection >::execute(), m::Match< wasm::NestedLoopsJoin< Predicated > >::execute(), m::Match< wasm::SimpleHashJoin< UniqueBuild, Predicated > >::execute(), m::Match< wasm::HashBasedGroupJoin >::execute(), m::GroupingOperator::GroupingOperator(), m::ProjectionOperator::ProjectionOperator(), m::ProjectionOperator::set_child(), and m::GroupingOperator::set_child().
|
inlineinherited |
Returns the Schema
of this Operator
.
Definition at line 69 of file Operator.hpp.
|
mutableprivateinherited |
the data object associated to this Operator
; may be nullptr
Definition at line 57 of file Operator.hpp.
|
mutableprotectedinherited |
the ID of this Operator
; used as index in the DP table of PhysicalOperator
Definition at line 59 of file Operator.hpp.
|
privateinherited |
additional information about this Operator
Definition at line 56 of file Operator.hpp.
|
private |
the parent of this Producer
Definition at line 122 of file Operator.hpp.
|
privateinherited |
the schema of this Operator
Definition at line 55 of file Operator.hpp.