![]() |
mutable
A Database System for Research and Fast Prototyping
|
#include <Condition.hpp>
Public Member Functions | |
ConditionSet ()=default | |
ConditionSet (const ConditionSet &other) | |
ConditionSet (ConditionSet &&)=default | |
ConditionSet & | operator= (ConditionSet &&)=default |
template<typename Cond > requires std::is_base_of_v<Condition, Cond> | |
void | add_condition (Cond &&cond) |
template<typename Cond > requires std::is_base_of_v<Condition, Cond> | |
void | add_or_replace_condition (Cond &&cond) |
template<typename Cond > requires std::is_base_of_v<Condition, Cond> | |
Cond & | get_condition () |
template<typename Cond > requires std::is_base_of_v<Condition, Cond> | |
const Cond & | get_condition () const |
bool | empty () const |
bool | implied_by (const ConditionSet &other) const |
void | project_and_rename (const std::vector< std::pair< Schema::Identifier, Schema::Identifier > > &old2new) |
bool | operator== (const ConditionSet &other) const |
bool | operator!= (const ConditionSet &other) const |
Static Public Member Functions | |
static ConditionSet | Make_Unsatisfiable () |
Private Attributes | |
std::unordered_map< std::type_index, std::unique_ptr< Condition > > | type2cond_ |
| |
Definition at line 271 of file Condition.hpp.
|
default |
|
inlineexplicit |
Definition at line 279 of file Condition.hpp.
References type2cond_.
|
default |
|
inline |
Definition at line 289 of file Condition.hpp.
References type2cond_.
Referenced by m::wasm::OrderedGrouping::adapt_post_condition(), m::wasm::Projection::adapt_post_condition(), m::wasm::SortMergeJoin< SortLeft, SortRight, Predicated, CmpPredicated >::adapt_post_conditions(), Make_Unsatisfiable(), m::wasm::Aggregation::post_condition(), m::wasm::HashBasedGrouping::post_condition(), m::wasm::HashBasedGroupJoin::post_condition(), m::wasm::IndexScan< IndexMethod >::post_condition(), m::wasm::Quicksort< CmpPredicated >::post_condition(), m::wasm::Scan< SIMDfied >::post_condition(), m::wasm::Callback< SIMDfied >::pre_condition(), m::wasm::Filter< Predicated >::pre_condition(), m::wasm::LazyDisjunctiveFilter::pre_condition(), m::wasm::HashBasedGrouping::pre_condition(), m::wasm::OrderedGrouping::pre_condition(), m::wasm::HashBasedGroupJoin::pre_condition(), m::wasm::NestedLoopsJoin< Predicated >::pre_condition(), m::wasm::SimpleHashJoin< UniqueBuild, Predicated >::pre_condition(), m::wasm::SortMergeJoin< SortLeft, SortRight, Predicated, CmpPredicated >::pre_condition(), m::wasm::Limit::pre_condition(), m::wasm::Print< SIMDfied >::pre_condition(), m::wasm::Projection::pre_condition(), m::wasm::Quicksort< CmpPredicated >::pre_condition(), and m::wasm::NoOpSorting::pre_condition().
|
inline |
Definition at line 298 of file Condition.hpp.
References type2cond_.
Referenced by m::wasm::Filter< Predicated >::adapt_post_condition(), m::wasm::NestedLoopsJoin< Predicated >::adapt_post_conditions(), m::wasm::SimpleHashJoin< UniqueBuild, Predicated >::adapt_post_conditions(), and m::wasm::SortMergeJoin< SortLeft, SortRight, Predicated, CmpPredicated >::adapt_post_conditions().
|
inline |
Definition at line 314 of file Condition.hpp.
References type2cond_.
|
inline |
Definition at line 305 of file Condition.hpp.
References M_insist, and type2cond_.
Referenced by m::wasm::OrderedGrouping::adapt_post_condition().
|
inline |
Definition at line 312 of file Condition.hpp.
bool ConditionSet::implied_by | ( | const ConditionSet & | other | ) | const |
Definition at line 7 of file Condition.cpp.
References type2cond_.
|
inlinestatic |
Definition at line 323 of file Condition.hpp.
References add_condition().
Referenced by m::wasm::IndexScan< IndexMethod >::pre_condition(), m::wasm::HashBasedGroupJoin::pre_condition(), m::wasm::SimpleHashJoin< UniqueBuild, Predicated >::pre_condition(), m::wasm::SortMergeJoin< SortLeft, SortRight, Predicated, CmpPredicated >::pre_condition(), and m::wasm::Scan< SIMDfied >::pre_condition().
|
inline |
Definition at line 321 of file Condition.hpp.
References operator==().
|
default |
bool ConditionSet::operator== | ( | const ConditionSet & | other | ) | const |
void ConditionSet::project_and_rename | ( | const std::vector< std::pair< Schema::Identifier, Schema::Identifier > > & | old2new | ) |
Definition at line 19 of file Condition.cpp.
References type2cond_.
Referenced by m::wasm::Projection::adapt_post_condition().
|
private |
assigns a unique identifier to each type of
Condition
Definition at line 275 of file Condition.hpp.
Referenced by add_condition(), add_or_replace_condition(), ConditionSet(), empty(), get_condition(), implied_by(), operator==(), and project_and_rename().