mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Member Functions | Data Fields | Protected Member Functions | Static Protected Member Functions | Private Member Functions | Private Attributes
m::Match< wasm::Callback< SIMDfied > > Struct Template Referenceabstract

#include <WasmOperator.hpp>

Inheritance diagram for m::Match< wasm::Callback< SIMDfied > >:
[legend]
Collaboration diagram for m::Match< wasm::Callback< SIMDfied > >:
[legend]

Public Member Functions

 Match (const CallbackOperator *callback, std::vector< unsharable_shared_ptr< const m::MatchBase > > &&children)
 
void execute (setup_t setup, pipeline_t pipeline, teardown_t teardown) const override
 Executes this physical operator match.
 
const Operatorget_matched_root () const override
 Returns the matched logical root operator for physical operators.
 
void accept (wasm::MatchBaseVisitor &v) override
 
void accept (wasm::ConstMatchBaseVisitor &v) const override
 
virtual void accept (MatchBaseVisitor &v)=0
 
virtual void accept (ConstMatchBaseVisitor &v) const =0
 
double cost () const
 
void dump (std::ostream &out) const
 
void dump () const
 

Data Fields

const CallbackOperatorcallback
 
std::unique_ptr< const storage::DataLayoutFactoryresult_set_factory
 
std::size_t result_set_window_size = options::result_set_window_size
 
unsharable_shared_ptr< const wasm::MatchBasechild
 

Protected Member Functions

void print (std::ostream &out, unsigned level) const override
 

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()
 

Detailed Description

template<bool SIMDfied>
struct m::Match< wasm::Callback< SIMDfied > >

Definition at line 676 of file WasmOperator.hpp.

Constructor & Destructor Documentation

◆ Match()

template<bool SIMDfied>
m::Match< wasm::Callback< SIMDfied > >::Match ( const CallbackOperator callback,
std::vector< unsharable_shared_ptr< const m::MatchBase > > &&  children 
)
inline

Definition at line 683 of file WasmOperator.hpp.

Member Function Documentation

◆ accept() [1/4]

virtual void m::wasm::MatchBase::accept ( ConstMatchBaseVisitor &  v) const
pure virtualinherited

◆ accept() [2/4]

virtual void m::wasm::MatchBase::accept ( MatchBaseVisitor &  v)
pure virtualinherited

◆ accept() [3/4]

template<bool SIMDfied>
void m::Match< wasm::Callback< SIMDfied > >::accept ( wasm::ConstMatchBaseVisitor &  v) const
override

◆ accept() [4/4]

template<bool SIMDfied>
void m::Match< wasm::Callback< SIMDfied > >::accept ( wasm::MatchBaseVisitor &  v)
override

◆ cost() [1/2]

double m::MatchBase::cost ( ) const
inlineinherited

Definition at line 218 of file PhysicalOptimizer.hpp.

References m::MatchBase::cost_.

◆ cost() [2/2]

void m::MatchBase::cost ( double  new_cost)
inlineprivateinherited

Definition at line 220 of file PhysicalOptimizer.hpp.

References m::MatchBase::cost_.

◆ dump() [1/2]

void MatchBase::dump ( ) const
inherited

Definition at line 13 of file PhysicalOptimizer.cpp.

References m::MatchBase::dump().

Referenced by m::MatchBase::dump().

◆ dump() [2/2]

M_LCOV_EXCL_START void MatchBase::dump ( std::ostream &  out) const
inherited

Definition at line 12 of file PhysicalOptimizer.cpp.

◆ execute()

template<bool SIMDfied>
void m::Match< wasm::Callback< SIMDfied > >::execute ( setup_t  setup,
pipeline_t  pipeline,
teardown_t  teardown 
) const
inlineoverridevirtual

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.

Implements m::MatchBase.

Definition at line 688 of file WasmOperator.hpp.

References m::wasm::Callback< SIMDfied >::execute().

◆ get_matched_root()

template<bool SIMDfied>
const Operator & m::Match< wasm::Callback< SIMDfied > >::get_matched_root ( ) const
inlineoverridevirtual

Returns the matched logical root operator for physical operators.

Implements m::MatchBase.

Definition at line 692 of file WasmOperator.hpp.

◆ indent()

static std::ostream & m::MatchBase::indent ( std::ostream &  out,
unsigned  level 
)
inlinestaticprotectedinherited

Definition at line 233 of file PhysicalOptimizer.hpp.

◆ print()

template<bool SIMDfied>
void m::Match< wasm::Callback< SIMDfied > >::print ( std::ostream &  out,
unsigned  level 
) const
overrideprotectedvirtual

Implements m::MatchBase.

Field Documentation

◆ callback

template<bool SIMDfied>
const CallbackOperator& m::Match< wasm::Callback< SIMDfied > >::callback

Definition at line 678 of file WasmOperator.hpp.

◆ child

unsharable_shared_ptr<const wasm::MatchBase> m::wasm::MatchSingleChild::child
inherited

Definition at line 625 of file WasmOperator.hpp.

◆ cost_

double m::MatchBase::cost_ = std::numeric_limits<double>::infinity()
privateinherited

Definition at line 205 of file PhysicalOptimizer.hpp.

Referenced by m::MatchBase::cost().

◆ result_set_factory

template<bool SIMDfied>
std::unique_ptr<const storage::DataLayoutFactory> m::Match< wasm::Callback< SIMDfied > >::result_set_factory
Initial value:
=
#define M_notnull(ARG)
Definition: macro.hpp:182
std::unique_ptr< const m::storage::DataLayoutFactory > hard_pipeline_breaker_layout
Which layout factory should be used for hard pipeline breakers.

Definition at line 679 of file WasmOperator.hpp.

◆ result_set_window_size

template<bool SIMDfied>
std::size_t m::Match< wasm::Callback< SIMDfied > >::result_set_window_size = options::result_set_window_size

Definition at line 681 of file WasmOperator.hpp.


The documentation for this struct was generated from the following file: