mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Types | Public Member Functions
IKKBZ Struct Referencefinal

Implements join ordering using the IK/KBZ algorithm. More...

Inheritance diagram for IKKBZ:
[legend]
Collaboration diagram for IKKBZ:
[legend]

Public Types

using base_type = PlanEnumeratorCRTP< IKKBZ >
 
using Subproblem = QueryGraph::Subproblem
 

Public Member Functions

template<typename PlanTable >
std::vector< std::size_t > linearize (PlanTable &PT, const QueryGraph &G, const AdjacencyMatrix &M, const CostFunction &CF, const CardinalityEstimator &CE) const
 
template<typename PlanTable >
void operator() (enumerate_tag, PlanTable &PT, const QueryGraph &G, const CostFunction &CF) const
 
template<typename PlanTable >
void operator() (const QueryGraph &G, const CostFunction &CF, PlanTable &PT) const
 Enumerate subplans and fill plan table.
 

Detailed Description

Implements join ordering using the IK/KBZ algorithm.

See Toshihide (I)baraki and Tiko (K)ameda. "On the optimal nesting order for computing n-relational joins." and Ravi (K)rishnamurthy, Haran (B)oral, and Carlo (Z)aniolo. "Optimization of Nonrecursive Queries."

Definition at line 298 of file PlanEnumerator.cpp.

Member Typedef Documentation

◆ base_type

Definition at line 300 of file PlanEnumerator.cpp.

◆ Subproblem

using m::pe::PlanEnumerator::Subproblem = QueryGraph::Subproblem
inherited

Definition at line 28 of file PlanEnumerator.hpp.

Member Function Documentation

◆ linearize()

template<typename PlanTable >
std::vector< std::size_t > IKKBZ::linearize ( PlanTable &  PT,
const QueryGraph G,
const AdjacencyMatrix M,
const CostFunction CF,
const CardinalityEstimator CE 
) const
inline

◆ operator()() [1/2]

template<typename PlanTable >
void m::pe::PlanEnumerator::operator() ( const QueryGraph G,
const CostFunction CF,
PlanTable &  PT 
) const
inlineinherited

Enumerate subplans and fill plan table.

Definition at line 35 of file PlanEnumerator.hpp.

◆ operator()() [2/2]

template<typename PlanTable >
void IKKBZ::operator() ( enumerate_tag  ,
PlanTable &  PT,
const QueryGraph G,
const CostFunction CF 
) const
inline

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