![]() |
mutable
A Database System for Research and Fast Prototyping
|
#include <HeuristicSearchPlanEnumerator.hpp>
Public Types | |
using | direction = BottomUp |
Public Member Functions | |
template<typename Callback , typename PlanTable > | |
void | operator() (const SubproblemsArray &state, Callback &&callback, PlanTable &PT, const QueryGraph &G, const AdjacencyMatrix &M, const CostFunction &CF, const CardinalityEstimator &CE) const |
template<typename Callback , typename PlanTable > | |
void | operator() (const SubproblemTableBottomUp &state, Callback &&callback, PlanTable &PT, const QueryGraph &G, const AdjacencyMatrix &M, const CostFunction &CF, const CardinalityEstimator &CE) const |
template<typename Callback , typename PlanTable > | |
void | operator() (const EdgesBottomUp &state, Callback &&callback, PlanTable &PT, const QueryGraph &G, const AdjacencyMatrix &, const CostFunction &CF, const CardinalityEstimator &CE) const |
template<typename Callback , typename PlanTable > | |
void | operator() (const EdgePtrBottomUp &state, Callback &&callback, PlanTable &PT, const QueryGraph &G, const AdjacencyMatrix &M, const CostFunction &CF, const CardinalityEstimator &CE) const |
template<typename State , typename PlanTable > | |
void | reset_marked (State &state, const PlanTable &, const QueryGraph &, const AdjacencyMatrix &, const CostFunction &, const CardinalityEstimator &) |
Static Public Member Functions | |
template<typename State , typename PlanTable > | |
static bool | is_goal (const State &state, const PlanTable &PT, const QueryGraph &G, const AdjacencyMatrix &M, const CostFunction &CF, const CardinalityEstimator &CE) |
template<typename State , typename PlanTable > | |
static State | Start (PlanTable &PT, const QueryGraph &G, const AdjacencyMatrix &M, const CostFunction &CF, const CardinalityEstimator &CE) |
Definition at line 1251 of file HeuristicSearchPlanEnumerator.hpp.
Definition at line 1253 of file HeuristicSearchPlanEnumerator.hpp.
|
inlinestatic |
Definition at line 1237 of file HeuristicSearchPlanEnumerator.hpp.
Referenced by operator()().
|
inline |
stores for each combination of subproblems whether they were joint yet
Definition at line 1488 of file HeuristicSearchPlanEnumerator.hpp.
References m::and, m::CostFunction::calculate_join_cost(), m::pe::hs::search_states::EdgePtrBottomUp::cbegin(), m::pe::hs::search_states::EdgePtrBottomUp::compute_datasource_to_subproblem_index(), m::pe::hs::search_states::EdgePtrBottomUp::g(), m::pe::hs::search_states::Base< Actual >::INCREMENT_NUM_STATES_EXPANDED(), m::pe::hs::search_states::Base< Actual >::INCREMENT_NUM_STATES_GENERATED(), m::AdjacencyMatrix::is_connected(), m::QueryGraph::joins(), M_insist, m::pe::hs::search_states::EdgePtrBottomUp::num_joins(), m::QueryGraph::num_joins(), m::QueryGraph::num_sources(), and m::Join::sources().
|
inline |
stores for each combination of subproblems whether they were joint yet
Definition at line 1396 of file HeuristicSearchPlanEnumerator.hpp.
References m::and, m::CostFunction::calculate_join_cost(), m::pe::hs::search_states::EdgesBottomUp::cbegin(), m::pe::hs::search_states::EdgesBottomUp::cend(), m::pe::hs::search_states::EdgesBottomUp::compute_datasource_to_subproblem_index(), m::pe::hs::search_states::EdgesBottomUp::g(), m::pe::hs::search_states::Base< Actual >::INCREMENT_NUM_STATES_EXPANDED(), m::pe::hs::search_states::Base< Actual >::INCREMENT_NUM_STATES_GENERATED(), m::QueryGraph::joins(), M_insist, m::pe::hs::search_states::EdgesBottomUp::num_joins(), m::QueryGraph::num_joins(), m::pe::hs::search_states::EdgesBottomUp::num_joins_to_goal(), m::QueryGraph::num_sources(), and m::Join::sources().
|
inline |
Definition at line 1257 of file HeuristicSearchPlanEnumerator.hpp.
References m::SmallBitset::All(), m::pe::hs::search_states::SubproblemsArray::cbegin(), m::pe::hs::search_states::SubproblemsArray::cend(), m::CardinalityEstimator::estimate_join(), m::pe::hs::search_states::SubproblemsArray::g(), m::pe::hs::search_states::SubproblemsArray::get_allocator(), m::pe::hs::search_states::Base< Actual >::INCREMENT_NUM_STATES_EXPANDED(), m::pe::hs::search_states::Base< Actual >::INCREMENT_NUM_STATES_GENERATED(), is_goal(), M_insist, m::pe::hs::search_states::SubproblemsArray::marked(), m::AdjacencyMatrix::neighbors(), m::QueryGraph::num_sources(), m::CardinalityEstimator::predict_cardinality(), and m::pe::hs::search_states::SubproblemsArray::size().
|
inline |
Definition at line 1330 of file HeuristicSearchPlanEnumerator.hpp.
References m::SmallBitset::All(), m::SmallBitset::begin(), m::CostFunction::calculate_join_cost(), m::SmallBitset::empty(), m::pe::hs::search_states::SubproblemTableBottomUp::g(), m::pe::hs::search_states::SubproblemTableBottomUp::get_allocator(), m::pe::hs::search_states::Base< Actual >::INCREMENT_NUM_STATES_EXPANDED(), m::pe::hs::search_states::Base< Actual >::INCREMENT_NUM_STATES_GENERATED(), m::AdjacencyMatrix::is_connected(), M_insist, m::pe::hs::search_states::SubproblemTableBottomUp::marker(), m::AdjacencyMatrix::neighbors(), m::QueryGraph::num_sources(), m::pe::hs::search_states::SubproblemTableBottomUp::size(), and m::X.
|
inlineinherited |
Definition at line 1244 of file HeuristicSearchPlanEnumerator.hpp.
|
inlinestaticinherited |
Definition at line 1231 of file HeuristicSearchPlanEnumerator.hpp.