![]() |
mutable
A Database System for Research and Fast Prototyping
|
Interface for a single physical plan table entry. More...
#include <PhysicalPlanTable.hpp>
Public Types | |
template<bool C> | |
using | child_iterator_type = ChildIt< C > |
using | const_child_iterator = child_iterator_type< true > |
using | cost_type = double |
using | actual_type = Actual |
Public Member Functions | |
template<typename It > requires requires { typename detail::the_condition_entry_iterator<It, true, Actual>; } | |
PhysicalPlanTableEntry (std::unique_ptr< MatchBase > &&match, const std::vector< It > &children, cost_type cost) | |
PhysicalPlanTableEntry ()=default | |
PhysicalPlanTableEntry (const PhysicalPlanTableEntry &)=delete | |
PhysicalPlanTableEntry (PhysicalPlanTableEntry &&other) | |
PhysicalPlanTableEntry & | operator= (PhysicalPlanTableEntry other) |
const MatchBase & | match () const |
unsharable_shared_ptr< MatchBase > | share_match () const |
Shares the found match. | |
unsharable_shared_ptr< MatchBase > | extract_match () |
Extracts the found match by moving it out of this . | |
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 Attributes | |
friend | CRTPBaseType< actual_type, It, TParams... > |
Interface for a single physical plan table entry.
Makes use of CRTP to create static polymorphism to the concrete implementation
Actual. | |
ChildIt | must be an iterator over the child nodes of the physical plan represented by this entry, i.e. their outgoing ConditionSet together with the respective physical plan table entries for their subplans. |
Definition at line 79 of file PhysicalPlanTable.hpp.
|
inherited |
using m::PhysicalPlanTableEntry< Actual, ChildIt >::child_iterator_type = ChildIt<C> |
Definition at line 82 of file PhysicalPlanTable.hpp.
using m::PhysicalPlanTableEntry< Actual, ChildIt >::const_child_iterator = child_iterator_type<true> |
Definition at line 83 of file PhysicalPlanTable.hpp.
using m::PhysicalPlanTableEntry< Actual, ChildIt >::cost_type = double |
Definition at line 84 of file PhysicalPlanTable.hpp.
|
inline |
Definition at line 88 of file PhysicalPlanTable.hpp.
|
default |
|
delete |
|
inline |
Definition at line 94 of file PhysicalPlanTable.hpp.
|
inlineinherited |
|
inlineinherited |
|
inline |
Definition at line 109 of file PhysicalPlanTable.hpp.
References m::crtp_boolean_templated< Actual, PhysicalPlanTableEntry, ChildIt >::actual().
Referenced by m::PhysicalPlanTableEntry< Actual, ChildIt >::children().
|
inline |
Definition at line 111 of file PhysicalPlanTable.hpp.
References m::crtp_boolean_templated< Actual, PhysicalPlanTableEntry, ChildIt >::actual().
|
inline |
Definition at line 112 of file PhysicalPlanTable.hpp.
References m::crtp_boolean_templated< Actual, PhysicalPlanTableEntry, ChildIt >::actual().
|
inline |
Definition at line 114 of file PhysicalPlanTable.hpp.
References m::PhysicalPlanTableEntry< Actual, ChildIt >::begin_children(), and m::PhysicalPlanTableEntry< Actual, ChildIt >::end_children().
|
inline |
Definition at line 107 of file PhysicalPlanTable.hpp.
References m::crtp_boolean_templated< Actual, PhysicalPlanTableEntry, ChildIt >::actual().
|
inline |
Definition at line 110 of file PhysicalPlanTable.hpp.
References m::crtp_boolean_templated< Actual, PhysicalPlanTableEntry, ChildIt >::actual().
Referenced by m::PhysicalPlanTableEntry< Actual, ChildIt >::children().
|
inline |
Extracts the found match by moving it out of this
.
Definition at line 105 of file PhysicalPlanTable.hpp.
References m::crtp_boolean_templated< Actual, PhysicalPlanTableEntry, ChildIt >::actual().
|
inline |
Definition at line 101 of file PhysicalPlanTable.hpp.
References m::crtp_boolean_templated< Actual, PhysicalPlanTableEntry, ChildIt >::actual().
|
inline |
Definition at line 96 of file PhysicalPlanTable.hpp.
References m::crtp_boolean_templated< Actual, PhysicalPlanTableEntry, ChildIt >::actual().
|
inline |
Shares the found match.
Only used by PhysicalOptimizerImpl
to create new matches with this match as child.
Definition at line 103 of file PhysicalPlanTable.hpp.
References m::crtp_boolean_templated< Actual, PhysicalPlanTableEntry, ChildIt >::actual().
|
privateinherited |