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

Computes the join order using size-based dynamic programming. More...

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

Public Types

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

Public Member Functions

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

Computes the join order using size-based dynamic programming.

In addition to DPsize, applies the following optimizations. First, do not enumerate symmetric subproblems. Second, in case both subproblems are of equal size, consider only subproblems succeeding the first subproblem.

Definition at line 110 of file PlanEnumerator.cpp.

Member Typedef Documentation

◆ base_type

Definition at line 112 of file PlanEnumerator.cpp.

◆ Subproblem

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

Definition at line 28 of file PlanEnumerator.hpp.

Member Function Documentation

◆ 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 DPsizeOpt::operator() ( enumerate_tag  ,
PlanTable &  PT,
const QueryGraph G,
const CostFunction CF 
) const
inline

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