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::NestedLoopsJoin< Predicated > > Struct Template Referenceabstract

#include <WasmOperator.hpp>

Inheritance diagram for m::Match< wasm::NestedLoopsJoin< Predicated > >:
[legend]
Collaboration diagram for m::Match< wasm::NestedLoopsJoin< Predicated > >:
[legend]

Public Member Functions

 Match (const JoinOperator *join, 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 JoinOperatorjoin
 
std::vector< std::unique_ptr< const storage::DataLayoutFactory > > materializing_factories_
 
std::vector< unsharable_shared_ptr< const wasm::MatchBase > > children
 

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

std::unique_ptr< const storage::DataLayoutFactorybuffer_factory_
 
std::size_t buffer_num_tuples_ = options::soft_pipeline_breaker_num_tuples
 
double cost_ = std::numeric_limits<double>::infinity()
 

Detailed Description

template<bool Predicated>
struct m::Match< wasm::NestedLoopsJoin< Predicated > >

Definition at line 1036 of file WasmOperator.hpp.

Constructor & Destructor Documentation

◆ Match()

template<bool Predicated>
m::Match< wasm::NestedLoopsJoin< Predicated > >::Match ( const JoinOperator join,
std::vector< unsharable_shared_ptr< const m::MatchBase > > &&  children 
)
inline

Definition at line 1048 of file WasmOperator.hpp.

References m::options::hard_pipeline_breaker_layout, and M_notnull.

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 Predicated>
void m::Match< wasm::NestedLoopsJoin< Predicated > >::accept ( wasm::ConstMatchBaseVisitor &  v) const
override

◆ accept() [4/4]

template<bool Predicated>
void m::Match< wasm::NestedLoopsJoin< Predicated > >::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 Predicated>
void m::Match< wasm::NestedLoopsJoin< Predicated > >::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 1056 of file WasmOperator.hpp.

References m::execute_buffered(), and m::Operator::schema().

◆ get_matched_root()

template<bool Predicated>
const Operator & m::Match< wasm::NestedLoopsJoin< Predicated > >::get_matched_root ( ) const
inlineoverridevirtual

Returns the matched logical root operator for physical operators.

Implements m::MatchBase.

Definition at line 1061 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 Predicated>
void m::Match< wasm::NestedLoopsJoin< Predicated > >::print ( std::ostream &  out,
unsigned  level 
) const
overrideprotectedvirtual

Implements m::MatchBase.

Field Documentation

◆ buffer_factory_

template<bool Predicated>
std::unique_ptr<const storage::DataLayoutFactory> m::Match< wasm::NestedLoopsJoin< Predicated > >::buffer_factory_
private
Initial value:
=
: std::unique_ptr<storage::DataLayoutFactory>()
#define M_notnull(ARG)
Definition: macro.hpp:182
option_configs::SoftPipelineBreakerStrategy soft_pipeline_breaker
Where soft pipeline breakers should be added.
std::unique_ptr< const m::storage::DataLayoutFactory > soft_pipeline_breaker_layout
Which layout factory should be used for soft pipeline breakers.

Definition at line 1041 of file WasmOperator.hpp.

◆ buffer_num_tuples_

template<bool Predicated>
std::size_t m::Match< wasm::NestedLoopsJoin< Predicated > >::buffer_num_tuples_ = options::soft_pipeline_breaker_num_tuples
private

Definition at line 1045 of file WasmOperator.hpp.

◆ children

std::vector<unsharable_shared_ptr<const wasm::MatchBase> > m::wasm::MatchMultipleChildren::children
inherited

◆ cost_

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

Definition at line 205 of file PhysicalOptimizer.hpp.

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

◆ join

template<bool Predicated>
const JoinOperator& m::Match< wasm::NestedLoopsJoin< Predicated > >::join

Definition at line 1038 of file WasmOperator.hpp.

◆ materializing_factories_

template<bool Predicated>
std::vector<std::unique_ptr<const storage::DataLayoutFactory> > m::Match< wasm::NestedLoopsJoin< Predicated > >::materializing_factories_

Definition at line 1039 of file WasmOperator.hpp.


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