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::IndexScan< IndexMethod > > Struct Template Referenceabstract

#include <WasmOperator.hpp>

Inheritance diagram for m::Match< wasm::IndexScan< IndexMethod > >:
[legend]
Collaboration diagram for m::Match< wasm::IndexScan< IndexMethod > >:
[legend]

Public Member Functions

 Match (const FilterOperator *filter, const ScanOperator *scan, 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 ScanOperatorscan
 
const FilterOperatorfilter
 
std::size_t batch_size = options::index_sequential_scan_batch_size
 

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<idx::IndexMethod IndexMethod>
struct m::Match< wasm::IndexScan< IndexMethod > >

Definition at line 779 of file WasmOperator.hpp.

Constructor & Destructor Documentation

◆ Match()

template<idx::IndexMethod IndexMethod>
m::Match< wasm::IndexScan< IndexMethod > >::Match ( const FilterOperator filter,
const ScanOperator scan,
std::vector< unsharable_shared_ptr< const m::MatchBase > > &&  children 
)
inline

Definition at line 792 of file WasmOperator.hpp.

References M_insist.

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

◆ accept() [4/4]

template<idx::IndexMethod IndexMethod>
void m::Match< wasm::IndexScan< IndexMethod > >::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<idx::IndexMethod IndexMethod>
void m::Match< wasm::IndexScan< IndexMethod > >::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 800 of file WasmOperator.hpp.

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

◆ get_matched_root()

template<idx::IndexMethod IndexMethod>
const Operator & m::Match< wasm::IndexScan< IndexMethod > >::get_matched_root ( ) const
inlineoverridevirtual

Returns the matched logical root operator for physical operators.

Implements m::MatchBase.

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

Implements m::MatchBase.

Field Documentation

◆ batch_size

template<idx::IndexMethod IndexMethod>
std::size_t m::Match< wasm::IndexScan< IndexMethod > >::batch_size = options::index_sequential_scan_batch_size

Definition at line 783 of file WasmOperator.hpp.

◆ buffer_factory_

template<idx::IndexMethod IndexMethod>
std::unique_ptr<const storage::DataLayoutFactory> m::Match< wasm::IndexScan< IndexMethod > >::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 785 of file WasmOperator.hpp.

◆ buffer_num_tuples_

template<idx::IndexMethod IndexMethod>
std::size_t m::Match< wasm::IndexScan< IndexMethod > >::buffer_num_tuples_ = options::soft_pipeline_breaker_num_tuples
private

Definition at line 789 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().

◆ filter

template<idx::IndexMethod IndexMethod>
const FilterOperator& m::Match< wasm::IndexScan< IndexMethod > >::filter

Definition at line 782 of file WasmOperator.hpp.

◆ scan

template<idx::IndexMethod IndexMethod>
const ScanOperator& m::Match< wasm::IndexScan< IndexMethod > >::scan

Definition at line 781 of file WasmOperator.hpp.


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