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

#include <WasmOperator.hpp>

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

Public Member Functions

 Match (const GroupingOperator *grouping, const JoinOperator *join, const Wildcard *build, const Wildcard *probe, 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
 
const JoinOperatorjoin
 
const Wildcardbuild
 
const Wildcardprobe
 
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
 
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

Definition at line 1174 of file WasmOperator.hpp.

Constructor & Destructor Documentation

◆ Match()

m::Match< wasm::HashBasedGroupJoin >::Match ( const GroupingOperator grouping,
const JoinOperator join,
const Wildcard build,
const Wildcard probe,
std::vector< unsharable_shared_ptr< const m::MatchBase > > &&  children 
)
inline

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

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

◆ accept() [4/4]

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

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

◆ get_matched_root()

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

Returns the matched logical root operator for physical operators.

Implements m::MatchBase.

Definition at line 1210 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::HashBasedGroupJoin >::print ( std::ostream &  out,
unsigned  level 
) const
overrideprotectedvirtual

Implements m::MatchBase.

Field Documentation

◆ buffer_factory_

std::unique_ptr<const storage::DataLayoutFactory> m::Match< wasm::HashBasedGroupJoin >::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 1187 of file WasmOperator.hpp.

◆ buffer_num_tuples_

std::size_t m::Match< wasm::HashBasedGroupJoin >::buffer_num_tuples_ = options::soft_pipeline_breaker_num_tuples
private

Definition at line 1191 of file WasmOperator.hpp.

◆ build

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

◆ grouping

Definition at line 1176 of file WasmOperator.hpp.

◆ join

Definition at line 1177 of file WasmOperator.hpp.

◆ load_factor

double m::Match< wasm::HashBasedGroupJoin >::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 1184 of file WasmOperator.hpp.

◆ probe

Definition at line 1179 of file WasmOperator.hpp.

◆ use_in_place_values

Definition at line 1182 of file WasmOperator.hpp.

◆ use_open_addressing_hashing

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

Definition at line 1180 of file WasmOperator.hpp.

◆ use_quadratic_probing

Definition at line 1183 of file WasmOperator.hpp.


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