![]() |
mutable
A Database System for Research and Fast Prototyping
|
#include <PhysicalPlanTable.hpp>
Public Types | |
using | super = PhysicalPlanTableEntry< ConcretePhysicalPlanTableEntry, detail::PhysicalPlanTableEntryChildIterator > |
using | const_child_iterator = super::const_child_iterator |
using | cost_type = super::cost_type |
using | child_iterator_type = detail::PhysicalPlanTableEntryChildIterator< C > |
using | actual_type = ConcreteType |
Public Member Functions | |
template<typename It > requires requires { typename detail::the_condition_entry_iterator<It, true, entry_type>; } | |
ConcretePhysicalPlanTableEntry (std::unique_ptr< MatchBase > &&match, const std::vector< It > &children, cost_type cost) | |
ConcretePhysicalPlanTableEntry ()=default | |
ConcretePhysicalPlanTableEntry (ConcretePhysicalPlanTableEntry &&other) | |
ConcretePhysicalPlanTableEntry & | operator= (ConcretePhysicalPlanTableEntry other) |
const MatchBase & | match () const |
unsharable_shared_ptr< MatchBase > | share_match () const |
unsharable_shared_ptr< MatchBase > | extract_match () |
cost_type | cost () const |
const_child_iterator | begin_children () const |
const_child_iterator | end_children () const |
const_child_iterator | cbegin_children () const |
const_child_iterator | cend_children () const |
range< const_child_iterator > | children () const |
actual_type & | actual () |
const actual_type & | actual () const |
Private Types | |
using | entry_type = ConcretePhysicalPlanTableEntry |
Private Attributes | |
unsharable_shared_ptr< MatchBase > | match_ |
| |
std::vector< std::reference_wrapper< const detail::condition_entry_t< entry_type > > > | children_ |
| |
cost_type | cost_ |
cumulative cost, i.e. cost of the physical operator itself plus costs of its children | |
friend | CRTPBaseType< actual_type, It, TParams... > |
Friends | |
void | swap (ConcretePhysicalPlanTableEntry &first, ConcretePhysicalPlanTableEntry &second) |
Definition at line 88 of file PhysicalPlanTable.hpp.
|
inherited |
|
inherited |
Definition at line 82 of file PhysicalPlanTable.hpp.
Definition at line 92 of file PhysicalPlanTable.hpp.
Definition at line 93 of file PhysicalPlanTable.hpp.
Definition at line 103 of file PhysicalPlanTable.hpp.
using m::ConcretePhysicalPlanTableEntry::super = PhysicalPlanTableEntry<ConcretePhysicalPlanTableEntry, detail::PhysicalPlanTableEntryChildIterator> |
Definition at line 91 of file PhysicalPlanTable.hpp.
|
inline |
Definition at line 114 of file PhysicalPlanTable.hpp.
References m::PhysicalPlanTableEntry< ConcretePhysicalPlanTableEntry, detail::PhysicalPlanTableEntryChildIterator >::children(), and children_.
|
default |
|
inline |
Definition at line 124 of file PhysicalPlanTable.hpp.
References swap.
|
inlineinherited |
|
inlineinherited |
|
inline |
Definition at line 139 of file PhysicalPlanTable.hpp.
References children_.
Referenced by cbegin_children().
|
inline |
Definition at line 141 of file PhysicalPlanTable.hpp.
References begin_children().
|
inline |
Definition at line 142 of file PhysicalPlanTable.hpp.
References end_children().
|
inlineinherited |
Definition at line 114 of file PhysicalPlanTable.hpp.
|
inline |
Definition at line 137 of file PhysicalPlanTable.hpp.
References cost_.
|
inline |
Definition at line 140 of file PhysicalPlanTable.hpp.
References children_.
Referenced by cend_children().
|
inline |
Definition at line 135 of file PhysicalPlanTable.hpp.
References match_.
|
inline |
Definition at line 133 of file PhysicalPlanTable.hpp.
References match_.
|
inline |
Definition at line 128 of file PhysicalPlanTable.hpp.
References swap.
|
inline |
Definition at line 134 of file PhysicalPlanTable.hpp.
References match_.
|
friend |
Definition at line 95 of file PhysicalPlanTable.hpp.
Referenced by ConcretePhysicalPlanTableEntry(), and operator=().
|
private |
all children, i.e. condition and entry per child
Definition at line 108 of file PhysicalPlanTable.hpp.
Referenced by begin_children(), ConcretePhysicalPlanTableEntry(), and end_children().
|
private |
cumulative cost, i.e. cost of the physical operator itself plus costs of its children
Definition at line 109 of file PhysicalPlanTable.hpp.
Referenced by cost().
|
privateinherited |
|
private |
the found match; as unsharable shared pointer to share sub-matches between entries while being able to transform exclusive matches into unique pointer
Definition at line 106 of file PhysicalPlanTable.hpp.
Referenced by extract_match(), match(), and share_match().