![]() |
mutable
A Database System for Research and Fast Prototyping
|
An abstract MatchBase
for the Interpreter
backend.
More...
#include <InterpreterOperator.hpp>
Public Member Functions | |
virtual void | accept (MatchBaseVisitor &v)=0 |
virtual void | accept (ConstMatchBaseVisitor &v) const =0 |
virtual void | execute (setup_t setup, pipeline_t pipeline, teardown_t teardown) const =0 |
Executes this physical operator match. | |
virtual const Operator & | get_matched_root () const =0 |
Returns the matched logical root operator for physical operators. | |
double | cost () const |
void | dump (std::ostream &out) const |
void | dump () const |
Protected Member Functions | |
virtual void | print (std::ostream &out, unsigned level=0) const =0 |
Static Protected Member Functions | |
static std::ostream & | indent (std::ostream &out, unsigned level) |
Private Member Functions | |
void | cost (double new_cost) |
Private Attributes | |
double | cost_ = std::numeric_limits<double>::infinity() |
An abstract MatchBase
for the Interpreter
backend.
Adds accept methods for respective visitor.
Definition at line 15 of file InterpreterOperator.hpp.
|
pure virtual |
|
pure virtual |
|
inlineinherited |
Definition at line 218 of file PhysicalOptimizer.hpp.
References m::MatchBase::cost_.
|
inlineprivateinherited |
Definition at line 220 of file PhysicalOptimizer.hpp.
References m::MatchBase::cost_.
|
inherited |
Definition at line 13 of file PhysicalOptimizer.cpp.
References m::MatchBase::dump().
Referenced by m::MatchBase::dump().
|
inherited |
Definition at line 12 of file PhysicalOptimizer.cpp.
|
pure virtualinherited |
Executes this physical operator match.
Recursively calls children operators to execute. The three callbacks are specified by the parent operator and are used as follows: setup
for some initializations, pipeline
for the actual computation, and teardown
for post-processing.
Implemented in m::Match< wasm::NoOp >, m::Match< wasm::Callback< SIMDfied > >, m::Match< wasm::Print< SIMDfied > >, m::Match< wasm::Scan< SIMDfied > >, m::Match< wasm::IndexScan< IndexMethod > >, m::Match< wasm::Filter< Predicated > >, m::Match< wasm::LazyDisjunctiveFilter >, m::Match< wasm::Projection >, m::Match< wasm::HashBasedGrouping >, m::Match< wasm::OrderedGrouping >, m::Match< wasm::Aggregation >, m::Match< wasm::Quicksort< CmpPredicated > >, m::Match< wasm::NoOpSorting >, m::Match< wasm::NestedLoopsJoin< Predicated > >, m::Match< wasm::SimpleHashJoin< UniqueBuild, Predicated > >, m::Match< wasm::SortMergeJoin< SortLeft, SortRight, Predicated, CmpPredicated > >, m::Match< wasm::Limit >, and m::Match< wasm::HashBasedGroupJoin >.
Referenced by write_result_set().
|
pure virtualinherited |
Returns the matched logical root operator for physical operators.
Implemented in m::Match< wasm::NoOp >, m::Match< wasm::Callback< SIMDfied > >, m::Match< wasm::Print< SIMDfied > >, m::Match< wasm::Scan< SIMDfied > >, m::Match< wasm::IndexScan< IndexMethod > >, m::Match< wasm::Filter< Predicated > >, m::Match< wasm::LazyDisjunctiveFilter >, m::Match< wasm::Projection >, m::Match< wasm::HashBasedGrouping >, m::Match< wasm::OrderedGrouping >, m::Match< wasm::Aggregation >, m::Match< wasm::Quicksort< CmpPredicated > >, m::Match< wasm::NoOpSorting >, m::Match< wasm::NestedLoopsJoin< Predicated > >, m::Match< wasm::SimpleHashJoin< UniqueBuild, Predicated > >, m::Match< wasm::SortMergeJoin< SortLeft, SortRight, Predicated, CmpPredicated > >, m::Match< wasm::Limit >, and m::Match< wasm::HashBasedGroupJoin >.
Referenced by m::wasm::detail::create_env(), and m::Interpreter::execute().
|
inlinestaticprotectedinherited |
Definition at line 233 of file PhysicalOptimizer.hpp.
|
protectedpure virtualinherited |
Implemented in m::Match< wasm::NoOp >, m::Match< wasm::Callback< SIMDfied > >, m::Match< wasm::Print< SIMDfied > >, m::Match< wasm::Scan< SIMDfied > >, m::Match< wasm::IndexScan< IndexMethod > >, m::Match< wasm::Filter< Predicated > >, m::Match< wasm::LazyDisjunctiveFilter >, m::Match< wasm::Projection >, m::Match< wasm::HashBasedGrouping >, m::Match< wasm::OrderedGrouping >, m::Match< wasm::Aggregation >, m::Match< wasm::Quicksort< CmpPredicated > >, m::Match< wasm::NoOpSorting >, m::Match< wasm::NestedLoopsJoin< Predicated > >, m::Match< wasm::SimpleHashJoin< UniqueBuild, Predicated > >, m::Match< wasm::SortMergeJoin< SortLeft, SortRight, Predicated, CmpPredicated > >, m::Match< wasm::Limit >, and m::Match< wasm::HashBasedGroupJoin >.
|
privateinherited |
Definition at line 205 of file PhysicalOptimizer.hpp.
Referenced by m::MatchBase::cost().