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::HashBasedGrouping > Struct Referenceabstract

#include <WasmOperator.hpp>

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

Public Member Functions

 Match (const GroupingOperator *grouping, 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 GroupingOperatorgrouping
 
bool use_open_addressing_hashing
 
bool use_in_place_values = bool(options::hash_table_storing_strategy bitand option_configs::StoringStrategy::IN_PLACE)
 
bool use_quadratic_probing = bool(options::hash_table_probing_strategy bitand option_configs::ProbingStrategy::QUADRATIC)
 
double load_factor
 
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

Definition at line 913 of file WasmOperator.hpp.

Constructor & Destructor Documentation

◆ Match()

m::Match< wasm::HashBasedGrouping >::Match ( const GroupingOperator grouping,
std::vector< unsharable_shared_ptr< const m::MatchBase > > &&  children 
)
inline

Definition at line 923 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]

void m::Match< wasm::HashBasedGrouping >::accept ( wasm::ConstMatchBaseVisitor &  v) const
override

◆ accept() [4/4]

void m::Match< wasm::HashBasedGrouping >::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()

void m::Match< wasm::HashBasedGrouping >::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 928 of file WasmOperator.hpp.

References m::wasm::HashBasedGrouping::execute().

◆ get_matched_root()

const Operator & m::Match< wasm::HashBasedGrouping >::get_matched_root ( ) const
inlineoverridevirtual

Returns the matched logical root operator for physical operators.

Implements m::MatchBase.

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

void m::Match< wasm::HashBasedGrouping >::print ( std::ostream &  out,
unsigned  level 
) const
overrideprotectedvirtual

Implements m::MatchBase.

Field Documentation

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

◆ grouping

Definition at line 915 of file WasmOperator.hpp.

◆ load_factor

double m::Match< wasm::HashBasedGrouping >::load_factor
Initial value:
=
double load_factor_open_addressing
Which maximal load factor should be used for wasm::OpenAddressingHashTables.
double load_factor_chained
Which maximal load factor should be used for wasm::ChainedHashTables.

Definition at line 920 of file WasmOperator.hpp.

◆ use_in_place_values

Definition at line 918 of file WasmOperator.hpp.

◆ use_open_addressing_hashing

bool m::Match< wasm::HashBasedGrouping >::use_open_addressing_hashing
Initial value:
=
option_configs::HashTableImplementation hash_table_implementation
Which implementation should be used for wasm::HashTables.

Definition at line 916 of file WasmOperator.hpp.

◆ use_quadratic_probing

Definition at line 919 of file WasmOperator.hpp.


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