![]() |
mutable
A Database System for Research and Fast Prototyping
|
#include <Operator.hpp>
Public Member Functions | |
JoinOperator (cnf::CNF predicate) | |
virtual void | add_child (Producer *child) override |
Adds a child to this Consumer and updates this Consumer s schema accordingly. | |
virtual Producer * | set_child (Producer *child, std::size_t i) override |
Sets the i -th child of this Consumer . | |
JoinOperator | clone_node () const |
Creates and returns a copy of this single operator node, i.e. | |
const cnf::CNF & | predicate () const |
void | accept (OperatorVisitor &v) override |
void | accept (ConstOperatorVisitor &v) const override |
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 . | |
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 |
const std::vector< Producer * > & | children () const |
Returns a reference to the children of this Consumer . | |
Producer * | child (std::size_t i) const |
Returns the i -th child of this Consumer . | |
void | assign_post_order_ids (std::size_t start_id=0UL) const override |
Assigns IDs to the operator tree rooted in this in post-order starting with ID start_id . | |
void | reset_ids () const override |
Resets the IDs of the operator tree rooted in this . | |
Static Public Attributes | |
static constexpr Schema::entry_type::constraints_t | REMOVED_CONSTRAINTS |
Protected Member Functions | |
std::vector< Producer * > & | children () |
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 | |
cnf::CNF | predicate_ |
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 | |
std::vector< Producer * > | children_ |
the children of this Consumer | |
Definition at line 318 of file Operator.hpp.
|
inline |
Definition at line 327 of file Operator.hpp.
|
overridevirtual |
Implements m::Operator.
|
overridevirtual |
Implements m::Operator.
|
inlineoverridevirtual |
Adds a child
to this Consumer
and updates this Consumer
s schema accordingly.
Reimplemented from m::Consumer.
Definition at line 330 of file Operator.hpp.
|
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().
|
inlineoverridevirtualinherited |
Assigns IDs to the operator tree rooted in this
in post-order starting with ID start_id
.
Reimplemented from m::Operator.
Definition at line 186 of file Operator.hpp.
|
inlineinherited |
Returns the i
-th child of this Consumer
.
Definition at line 176 of file Operator.hpp.
|
inlineprotectedinherited |
Definition at line 183 of file Operator.hpp.
|
inlineinherited |
Returns a reference to the children of this Consumer
.
Definition at line 173 of file Operator.hpp.
|
inline |
Creates and returns a copy of this single operator node, i.e.
only copies this operator without adding any inherited member fields like the parent or children nodes in the returned copy.
Definition at line 350 of file Operator.hpp.
|
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__().
|
inlineinherited |
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.
|
inline |
Definition at line 352 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.
|
inlineoverridevirtualinherited |
Resets the IDs of the operator tree rooted in this
.
Reimplemented from m::Operator.
Definition at line 194 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.
|
inlineoverridevirtual |
Sets the i
-th child
of this Consumer
.
Forces a recomputation of this Consumer
s schema.
Reimplemented from m::Consumer.
Definition at line 338 of file Operator.hpp.
|
privateinherited |
the children of this Consumer
Definition at line 135 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.
|
privateinherited |
the parent of this Producer
Definition at line 122 of file Operator.hpp.
|
private |
Definition at line 324 of file Operator.hpp.
|
staticconstexpr |
Definition at line 320 of file Operator.hpp.
|
privateinherited |
the schema of this Operator
Definition at line 55 of file Operator.hpp.