mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Variables
m::options Namespace Reference

Variables

option_configs::ScanImplementation scan_implementations = option_configs::ScanImplementation::ALL
 Which implementations should be considered for a ScanOperator.
 
option_configs::GroupingImplementation grouping_implementations = option_configs::GroupingImplementation::ALL
 Which implementations should be considered for a GroupingOperator.
 
option_configs::SortingImplementation sorting_implementations = option_configs::SortingImplementation::ALL
 Which implementations should be considered for a SortingOperator.
 
option_configs::JoinImplementation join_implementations = option_configs::JoinImplementation::ALL
 Which implementations should be considered for a JoinOperator.
 
option_configs::IndexImplementation index_implementations = option_configs::IndexImplementation::ALL
 Which index implementations should be considered for an IndexScan.
 
option_configs::IndexScanStrategy index_scan_strategy = option_configs::IndexScanStrategy::INTERPRETATION
 Which index scan strategy should be used for wasm::IndexScan.
 
option_configs::IndexScanCompilationStrategy index_scan_compilation_strategy
 Which compilation strategy should be used for wasm::IndexScan.
 
option_configs::IndexScanMaterializationStrategy index_scan_materialization_strategy
 Which materialization strategy should be used for wasm::IndexScan.
 
option_configs::SelectionStrategy filter_selection_strategy = option_configs::SelectionStrategy::AUTO
 Which selection strategy should be used for wasm::Filter.
 
option_configs::SelectionStrategy quicksort_cmp_selection_strategy = option_configs::SelectionStrategy::AUTO
 Which selection strategy should be used for comparisons in wasm::Quicksort.
 
option_configs::SelectionStrategy nested_loops_join_selection_strategy = option_configs::SelectionStrategy::AUTO
 Which selection strategy should be used for wasm::NestedLoopsJoin.
 
option_configs::SelectionStrategy simple_hash_join_selection_strategy = option_configs::SelectionStrategy::AUTO
 Which selection strategy should be used for wasm::SimpleHashJoin.
 
option_configs::OrderingStrategy simple_hash_join_ordering_strategy = option_configs::OrderingStrategy::AUTO
 Which ordering strategy should be used for wasm::SimpleHashJoin.
 
option_configs::SelectionStrategy sort_merge_join_selection_strategy = option_configs::SelectionStrategy::AUTO
 Which selection strategy should be used for wasm::SortMergeJoin.
 
option_configs::SelectionStrategy sort_merge_join_cmp_selection_strategy
 Which selection strategy should be used for comparisons while sorting in wasm::SortMergeJoin.
 
option_configs::HashTableImplementation hash_table_implementation = option_configs::HashTableImplementation::ALL
 Which implementation should be used for wasm::HashTables.
 
option_configs::ProbingStrategy hash_table_probing_strategy = option_configs::ProbingStrategy::AUTO
 Which probing strategy should be used for wasm::OpenAddressingHashTables.
 
option_configs::StoringStrategy hash_table_storing_strategy = option_configs::StoringStrategy::AUTO
 Which storing strategy should be used for wasm::OpenAddressingHashTables.
 
double load_factor_open_addressing = 0.8
 Which maximal load factor should be used for wasm::OpenAddressingHashTables.
 
double load_factor_chained = 1.5
 Which maximal load factor should be used for wasm::ChainedHashTables.
 
std::optional< uint32_t > hash_table_initial_capacity
 Which initial capacity should be used for wasm::HashTables.
 
bool hash_based_group_join = true
 Whether to use wasm::HashBasedGroupJoin if possible.
 
std::unique_ptr< const m::storage::DataLayoutFactoryhard_pipeline_breaker_layout
 Which layout factory should be used for hard pipeline breakers.
 
option_configs::SoftPipelineBreakerStrategy soft_pipeline_breaker
 Where soft pipeline breakers should be added.
 
std::unique_ptr< const m::storage::DataLayoutFactorysoft_pipeline_breaker_layout
 Which layout factory should be used for soft pipeline breakers.
 
std::size_t soft_pipeline_breaker_num_tuples = 0
 Which size in tuples should be used for soft pipeline breakers.
 
std::size_t index_sequential_scan_batch_size = 1
 The number of results from index sequential scan to be communicated between host and v8 per batch.
 
std::size_t result_set_window_size = 0
 Which window size should be used for the result set.
 
bool exploit_unique_build = true
 Whether to exploit uniqueness of build key in hash joins.
 
bool simd = true
 Whether to use SIMDfication.
 
bool double_pumping = true
 Whether to use double pumping if SIMDfication is enabled.
 
std::size_t simd_lanes = 1
 Which number of SIMD lanes to prefer.
 
std::vector< std::pair< m::Schema::Identifier, bool > > sorted_attributes
 Which attributes are assumed to be sorted.
 

Variable Documentation

◆ double_pumping

bool m::options::double_pumping = true
inline

Whether to use double pumping if SIMDfication is enabled.

Definition at line 219 of file WasmOperator.hpp.

Referenced by m::wasm::Scan< SIMDfied >::execute().

◆ exploit_unique_build

bool m::options::exploit_unique_build = true
inline

Whether to exploit uniqueness of build key in hash joins.

Definition at line 213 of file WasmOperator.hpp.

◆ filter_selection_strategy

option_configs::SelectionStrategy m::options::filter_selection_strategy = option_configs::SelectionStrategy::AUTO
inline

Which selection strategy should be used for wasm::Filter.

Definition at line 144 of file WasmOperator.hpp.

◆ grouping_implementations

Which implementations should be considered for a GroupingOperator.

Definition at line 121 of file WasmOperator.hpp.

◆ hard_pipeline_breaker_layout

std::unique_ptr<const m::storage::DataLayoutFactory> m::options::hard_pipeline_breaker_layout
inline
Initial value:
=
std::make_unique<storage::RowLayoutFactory>()

Which layout factory should be used for hard pipeline breakers.

Definition at line 191 of file WasmOperator.hpp.

Referenced by m::Match< wasm::NestedLoopsJoin< Predicated > >::Match().

◆ hash_based_group_join

bool m::options::hash_based_group_join = true
inline

Whether to use wasm::HashBasedGroupJoin if possible.

Definition at line 188 of file WasmOperator.hpp.

◆ hash_table_implementation

Which implementation should be used for wasm::HashTables.

Definition at line 166 of file WasmOperator.hpp.

◆ hash_table_initial_capacity

std::optional<uint32_t> m::options::hash_table_initial_capacity
inline

Which initial capacity should be used for wasm::HashTables.

Definition at line 185 of file WasmOperator.hpp.

◆ hash_table_probing_strategy

option_configs::ProbingStrategy m::options::hash_table_probing_strategy = option_configs::ProbingStrategy::AUTO
inline

Which probing strategy should be used for wasm::OpenAddressingHashTables.

Does not have any effect if wasm::ChainedHashTables are used.

Definition at line 170 of file WasmOperator.hpp.

◆ hash_table_storing_strategy

option_configs::StoringStrategy m::options::hash_table_storing_strategy = option_configs::StoringStrategy::AUTO
inline

Which storing strategy should be used for wasm::OpenAddressingHashTables.

Does not have any effect if wasm::ChainedHashTables are used.

Definition at line 174 of file WasmOperator.hpp.

◆ index_implementations

Which index implementations should be considered for an IndexScan.

Definition at line 130 of file WasmOperator.hpp.

◆ index_scan_compilation_strategy

option_configs::IndexScanCompilationStrategy m::options::index_scan_compilation_strategy
inline
Initial value:
=
option_configs::IndexScanCompilationStrategy::CALLBACK

Which compilation strategy should be used for wasm::IndexScan.

Definition at line 136 of file WasmOperator.hpp.

Referenced by index_scan_codegen_compilation(), and index_scan_codegen_hybrid().

◆ index_scan_materialization_strategy

option_configs::IndexScanMaterializationStrategy m::options::index_scan_materialization_strategy
inline
Initial value:
=
option_configs::IndexScanMaterializationStrategy::MEMORY

Which materialization strategy should be used for wasm::IndexScan.

Definition at line 140 of file WasmOperator.hpp.

Referenced by index_scan_codegen_compilation(), index_scan_codegen_hybrid(), and index_scan_codegen_interpretation().

◆ index_scan_strategy

Which index scan strategy should be used for wasm::IndexScan.

Definition at line 133 of file WasmOperator.hpp.

Referenced by index_scan_resolve_strategy().

◆ index_sequential_scan_batch_size

std::size_t m::options::index_sequential_scan_batch_size = 1
inline

The number of results from index sequential scan to be communicated between host and v8 per batch.

0 means that all results are communicated in a single batch.

Definition at line 207 of file WasmOperator.hpp.

◆ join_implementations

Which implementations should be considered for a JoinOperator.

Definition at line 127 of file WasmOperator.hpp.

◆ load_factor_chained

double m::options::load_factor_chained = 1.5
inline

Which maximal load factor should be used for wasm::ChainedHashTables.

Does not have any effect if wasm::OpenAddressingHashTables are used.

Definition at line 182 of file WasmOperator.hpp.

◆ load_factor_open_addressing

double m::options::load_factor_open_addressing = 0.8
inline

Which maximal load factor should be used for wasm::OpenAddressingHashTables.

Does not have any effect if wasm::ChainedHashTables are used.

Definition at line 178 of file WasmOperator.hpp.

◆ nested_loops_join_selection_strategy

option_configs::SelectionStrategy m::options::nested_loops_join_selection_strategy = option_configs::SelectionStrategy::AUTO
inline

Which selection strategy should be used for wasm::NestedLoopsJoin.

Definition at line 150 of file WasmOperator.hpp.

◆ quicksort_cmp_selection_strategy

option_configs::SelectionStrategy m::options::quicksort_cmp_selection_strategy = option_configs::SelectionStrategy::AUTO
inline

Which selection strategy should be used for comparisons in wasm::Quicksort.

Definition at line 147 of file WasmOperator.hpp.

◆ result_set_window_size

std::size_t m::options::result_set_window_size = 0
inline

Which window size should be used for the result set.

Definition at line 210 of file WasmOperator.hpp.

◆ scan_implementations

Which implementations should be considered for a ScanOperator.

Definition at line 118 of file WasmOperator.hpp.

◆ simd

bool m::options::simd = true
inline

Whether to use SIMDfication.

Definition at line 216 of file WasmOperator.hpp.

Referenced by m::Match< wasm::Scan< SIMDfied > >::execute().

◆ simd_lanes

std::size_t m::options::simd_lanes = 1
inline

Which number of SIMD lanes to prefer.

Definition at line 222 of file WasmOperator.hpp.

Referenced by m::wasm::Scan< SIMDfied >::execute().

◆ simple_hash_join_ordering_strategy

option_configs::OrderingStrategy m::options::simple_hash_join_ordering_strategy = option_configs::OrderingStrategy::AUTO
inline

Which ordering strategy should be used for wasm::SimpleHashJoin.

Definition at line 156 of file WasmOperator.hpp.

Referenced by m::wasm::SimpleHashJoin< UniqueBuild, Predicated >::cost().

◆ simple_hash_join_selection_strategy

option_configs::SelectionStrategy m::options::simple_hash_join_selection_strategy = option_configs::SelectionStrategy::AUTO
inline

Which selection strategy should be used for wasm::SimpleHashJoin.

Definition at line 153 of file WasmOperator.hpp.

◆ soft_pipeline_breaker

option_configs::SoftPipelineBreakerStrategy m::options::soft_pipeline_breaker
inline
Initial value:
=
option_configs::SoftPipelineBreakerStrategy::NONE

Where soft pipeline breakers should be added.

Definition at line 195 of file WasmOperator.hpp.

◆ soft_pipeline_breaker_layout

std::unique_ptr<const m::storage::DataLayoutFactory> m::options::soft_pipeline_breaker_layout
inline
Initial value:
=
std::make_unique<storage::RowLayoutFactory>()

Which layout factory should be used for soft pipeline breakers.

Definition at line 199 of file WasmOperator.hpp.

◆ soft_pipeline_breaker_num_tuples

std::size_t m::options::soft_pipeline_breaker_num_tuples = 0
inline

Which size in tuples should be used for soft pipeline breakers.

Definition at line 203 of file WasmOperator.hpp.

◆ sort_merge_join_cmp_selection_strategy

option_configs::SelectionStrategy m::options::sort_merge_join_cmp_selection_strategy
inline
Initial value:
=
option_configs::SelectionStrategy::AUTO

Which selection strategy should be used for comparisons while sorting in wasm::SortMergeJoin.

Definition at line 162 of file WasmOperator.hpp.

◆ sort_merge_join_selection_strategy

option_configs::SelectionStrategy m::options::sort_merge_join_selection_strategy = option_configs::SelectionStrategy::AUTO
inline

Which selection strategy should be used for wasm::SortMergeJoin.

Definition at line 159 of file WasmOperator.hpp.

◆ sorted_attributes

std::vector<std::pair<m::Schema::Identifier, bool> > m::options::sorted_attributes
inline

Which attributes are assumed to be sorted.

For each entry, the first element is the name of the attribute and the second one is true iff the attribute is sorted ascending and vice versa.

Definition at line 226 of file WasmOperator.hpp.

Referenced by m::wasm::Scan< SIMDfied >::post_condition().

◆ sorting_implementations

Which implementations should be considered for a SortingOperator.

Definition at line 124 of file WasmOperator.hpp.