![]() |
mutable
A Database System for Research and Fast Prototyping
|
DummyEstimator that always returns the size of the cartesian product of the given subproblems. More...
#include <CardinalityEstimator.hpp>
Data Structures | |
struct | CartesianProductDataModel |
Public Member Functions | |
CartesianProductEstimator () | |
CartesianProductEstimator (ThreadSafePooledString) | |
std::unique_ptr< DataModel > | empty_model () const override |
std::unique_ptr< DataModel > | estimate_scan (const QueryGraph &G, Subproblem P) const override |
std::unique_ptr< DataModel > | estimate_filter (const QueryGraph &G, const DataModel &data, const cnf::CNF &filter) const override |
std::unique_ptr< DataModel > | estimate_limit (const QueryGraph &G, const DataModel &data, std::size_t limit, std::size_t offset) const override |
std::unique_ptr< DataModel > | estimate_grouping (const QueryGraph &G, const DataModel &data, const std::vector< group_type > &groups) const override |
std::unique_ptr< DataModel > | estimate_join (const QueryGraph &G, const DataModel &left, const DataModel &right, const cnf::CNF &condition) const override |
template<typename PlanTable > | |
std::unique_ptr< DataModel > | operator() (estimate_join_all_tag, PlanTable &&PT, const QueryGraph &G, Subproblem to_join, const cnf::CNF &condition) const |
std::size_t | predict_cardinality (const DataModel &data) const override |
Private Member Functions | |
void | print (std::ostream &out) const override |
DummyEstimator that always returns the size of the cartesian product of the given subproblems.
Definition at line 173 of file CardinalityEstimator.hpp.
|
inline |
Definition at line 185 of file CardinalityEstimator.hpp.
|
inline |
Definition at line 186 of file CardinalityEstimator.hpp.
|
override |
Definition at line 63 of file CardinalityEstimator.cpp.
|
override |
Definition at line 81 of file CardinalityEstimator.cpp.
|
override |
Definition at line 100 of file CardinalityEstimator.cpp.
|
override |
Definition at line 110 of file CardinalityEstimator.cpp.
Referenced by m::InjectionCardinalityEstimator::estimate_join().
|
override |
Definition at line 89 of file CardinalityEstimator.cpp.
|
override |
Definition at line 70 of file CardinalityEstimator.cpp.
References m::SmallBitset::begin(), M_insist, m::SmallBitset::size(), and m::QueryGraph::sources().
Referenced by m::InjectionCardinalityEstimator::estimate_scan().
template std::unique_ptr< DataModel > CartesianProductEstimator::operator() | ( | estimate_join_all_tag | , |
PlanTable && | PT, | ||
const QueryGraph & | G, | ||
Subproblem | to_join, | ||
const cnf::CNF & | condition | ||
) | const |
Definition at line 122 of file CardinalityEstimator.cpp.
References m::SmallBitset::begin(), m::SmallBitset::empty(), m::SmallBitset::end(), and M_insist.
|
override |
Definition at line 142 of file CardinalityEstimator.cpp.
Referenced by m::InjectionCardinalityEstimator::estimate_join(), and m::InjectionCardinalityEstimator::estimate_scan().
|
overrideprivate |
Definition at line 148 of file CardinalityEstimator.cpp.