mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Types | Public Member Functions
m::pe::hs::heuristics::GOO< PlanTable, State, Expand > Struct Template Reference

Inspired by GOO: Greedy Operator Ordering. More...

#include <HeuristicSearchPlanEnumerator.hpp>

Inheritance diagram for m::pe::hs::heuristics::GOO< PlanTable, State, Expand >:
[legend]
Collaboration diagram for m::pe::hs::heuristics::GOO< PlanTable, State, Expand >:
[legend]

Public Types

using base_type = PlanEnumeratorCRTP< GOO >
 

Public Member Functions

void for_each_join (Callback &&callback, PlanTable &PT, const QueryGraph &G, const AdjacencyMatrix &M, const CostFunction &, const CardinalityEstimator &CE, node *begin, node *end) const
 Enumerate the sequence of joins that yield the smallest subproblem in each step.
 
void compute_plan (PlanTable &PT, const QueryGraph &G, const AdjacencyMatrix &M, const CostFunction &CF, const CardinalityEstimator &CE, node *begin, node *end) const
 
void operator() (enumerate_tag, PlanTable &PT, const QueryGraph &G, const CostFunction &CF) const
 

Detailed Description

template<typename PlanTable, typename State, typename Expand>
struct m::pe::hs::heuristics::GOO< PlanTable, State, Expand >

Inspired by GOO: Greedy Operator Ordering.

https://link.springer.com/chapter/10.1007/BFb0054528

Definition at line 2021 of file HeuristicSearchPlanEnumerator.hpp.

Member Typedef Documentation

◆ base_type

Definition at line 60 of file PlanEnumerator.hpp.

Member Function Documentation

◆ compute_plan()

void m::pe::GOO::compute_plan ( PlanTable &  PT,
const QueryGraph G,
const AdjacencyMatrix M,
const CostFunction CF,
const CardinalityEstimator CE,
node *  begin,
node *  end 
) const
inlineinherited

Starting at the state described by the node array, we greedyly enumerate joins and thereby compute a plan.

Definition at line 140 of file PlanEnumerator.hpp.

◆ for_each_join()

void m::pe::GOO::for_each_join ( Callback &&  callback,
PlanTable &  PT,
const QueryGraph G,
const AdjacencyMatrix M,
const CostFunction ,
const CardinalityEstimator CE,
node *  begin,
node *  end 
) const
inlineinherited

Enumerate the sequence of joins that yield the smallest subproblem in each step.

Definition at line 97 of file PlanEnumerator.hpp.

◆ operator()()

void GOO::operator() ( enumerate_tag  ,
PlanTable &  PT,
const QueryGraph G,
const CostFunction CF 
) const
inherited

Definition at line 151 of file PlanEnumerator.cpp.


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