![]() |
MySQL 9.5.0
Source Code Documentation
|
#include <graph_simplification.h>
Classes | |
| struct | CompareByBenefit |
| struct | EdgeMetrics |
| struct | MarkNeighborCache |
| struct | NeighborCache |
| struct | ProposedSimplificationStep |
| struct | SimplificationStep |
Public Types | |
| enum | SimplificationResult { NO_SIMPLIFICATION_POSSIBLE = 0 , APPLIED_SIMPLIFICATION , APPLIED_NOOP , APPLIED_REDO_STEP } |
Public Member Functions | |
| GraphSimplifier (THD *thd, JoinHypergraph *graph) | |
| SimplificationResult | DoSimplificationStep () |
| void | UndoSimplificationStep () |
| int | num_steps_done () const |
| int | num_steps_undone () const |
Private Member Functions | |
| void | UpdatePQ (size_t edge_idx) |
| void | RecalculateNeighbors (size_t edge1_idx, size_t begin, size_t end) |
| ALWAYS_INLINE bool | EdgesAreNeighboring (size_t edge1_idx, size_t edge2_idx, ProposedSimplificationStep *step) |
| SimplificationStep | ConcretizeSimplificationStep (GraphSimplifier::ProposedSimplificationStep step) |
Private Attributes | |
| THD * | m_thd |
| Mem_root_array< SimplificationStep > | m_done_steps |
| Mem_root_array< SimplificationStep > | m_undone_steps |
| Bounds_checked_array< EdgeMetrics > | m_edge_metrics |
| JoinHypergraph * | m_graph |
| OnlineCycleFinder | m_cycles |
| Bounds_checked_array< NeighborCache > | m_cache |
| Priority_queue< NeighborCache *, std::vector< NeighborCache *, Mem_root_allocator< NeighborCache * > >, CompareByBenefit, MarkNeighborCache > | m_pq |
| GraphSimplifier::GraphSimplifier | ( | THD * | thd, |
| JoinHypergraph * | graph | ||
| ) |
|
private |
| GraphSimplifier::SimplificationResult GraphSimplifier::DoSimplificationStep | ( | ) |
|
private |
|
inline |
|
inline |
|
private |
| void GraphSimplifier::UndoSimplificationStep | ( | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |