Hybrid Query Processing Engine for Coprocessing in Database Systems
HyPE
|
#include <logical_query_plan.hpp>
Public Types | |
typedef Type | NodeElementType |
typedef OperatorMapper_Helper_Template < Type > ::Physical_Operator_Map | Physical_Operator_Map |
typedef OperatorMapper_Helper_Template < Type >::TypedOperatorPtr | TypedOperatorPtr |
typedef OperatorMapper_Helper_Template < Type >::TypedNodePtr | TypedNodePtr |
typedef OperatorMapper_Helper_Template < Type >::PhysicalQueryPlanPtr | PhysicalQueryPlanPtr |
Public Member Functions | |
LogicalQueryPlan (TypedNodePtr root) | |
const PhysicalQueryPlanPtr | convertToPhysicalQueryPlan () |
const PhysicalQueryPlanPtr | runChoppedPlan () |
template<class UnaryFunction > | |
UnaryFunction | traverse (UnaryFunction f) |
template<class UnaryFunction > | |
UnaryFunction | query_chopping_traversal (UnaryFunction f) |
template<class UnaryFunction > | |
UnaryFunction | reverse_traverse (UnaryFunction f) |
template<class UnaryFunction > | |
UnaryFunction | traverse_inorder (UnaryFunction f, TypedNodePtr node) |
template<class UnaryFunction > | |
UnaryFunction | traverse_inorder (UnaryFunction f) |
std::list< TypedNodePtr > | getLevelOrder () |
template<class UnaryFunction > | |
UnaryFunction | traverse_preorder (UnaryFunction f) |
void | print () |
Static Public Member Functions | |
template<class UnaryFunction > | |
static void | chop (UnaryFunction *f, TypedNodePtr nodePtr) |
Private Attributes | |
TypedNodePtr | root_ |
Definition at line 121 of file logical_query_plan.hpp.
typedef Type hype::queryprocessing::LogicalQueryPlan< Type >::NodeElementType |
Definition at line 123 of file logical_query_plan.hpp.
typedef OperatorMapper_Helper_Template<Type>::Physical_Operator_Map hype::queryprocessing::LogicalQueryPlan< Type >::Physical_Operator_Map |
Definition at line 124 of file logical_query_plan.hpp.
typedef OperatorMapper_Helper_Template<Type>::PhysicalQueryPlanPtr hype::queryprocessing::LogicalQueryPlan< Type >::PhysicalQueryPlanPtr |
Definition at line 127 of file logical_query_plan.hpp.
typedef OperatorMapper_Helper_Template<Type>::TypedNodePtr hype::queryprocessing::LogicalQueryPlan< Type >::TypedNodePtr |
Definition at line 126 of file logical_query_plan.hpp.
typedef OperatorMapper_Helper_Template<Type>::TypedOperatorPtr hype::queryprocessing::LogicalQueryPlan< Type >::TypedOperatorPtr |
Definition at line 125 of file logical_query_plan.hpp.
hype::queryprocessing::LogicalQueryPlan< Type >::LogicalQueryPlan | ( | TypedNodePtr | root | ) | [inline] |
Definition at line 129 of file logical_query_plan.hpp.
References hype::queryprocessing::LogicalQueryPlan< Type >::root_, and hype::queryprocessing::LogicalQueryPlan< Type >::traverse().
static void hype::queryprocessing::LogicalQueryPlan< Type >::chop | ( | UnaryFunction * | f, |
TypedNodePtr | nodePtr | ||
) | [inline, static] |
Definition at line 193 of file logical_query_plan.hpp.
Referenced by hype::queryprocessing::LogicalQueryPlan< Type >::query_chopping_traversal().
const PhysicalQueryPlanPtr hype::queryprocessing::LogicalQueryPlan< Type >::convertToPhysicalQueryPlan | ( | ) | [inline] |
Definition at line 137 of file logical_query_plan.hpp.
References hype::queryprocessing::Construct_Physical_Query_Plan_functor< Type >::getRootOperator(), and hype::queryprocessing::LogicalQueryPlan< Type >::reverse_traverse().
std::list<TypedNodePtr> hype::queryprocessing::LogicalQueryPlan< Type >::getLevelOrder | ( | ) | [inline] |
Definition at line 236 of file logical_query_plan.hpp.
References hype::queryprocessing::LogicalQueryPlan< Type >::root_.
Referenced by hype::queryprocessing::LogicalQueryPlan< Type >::reverse_traverse().
void hype::queryprocessing::LogicalQueryPlan< Type >::print | ( | ) | [inline] |
Definition at line 292 of file logical_query_plan.hpp.
References hype::queryprocessing::LogicalQueryPlan< Type >::traverse_preorder().
UnaryFunction hype::queryprocessing::LogicalQueryPlan< Type >::query_chopping_traversal | ( | UnaryFunction | f | ) | [inline] |
Definition at line 187 of file logical_query_plan.hpp.
References hype::queryprocessing::LogicalQueryPlan< Type >::chop(), and hype::queryprocessing::LogicalQueryPlan< Type >::root_.
Referenced by hype::queryprocessing::LogicalQueryPlan< Type >::runChoppedPlan().
UnaryFunction hype::queryprocessing::LogicalQueryPlan< Type >::reverse_traverse | ( | UnaryFunction | f | ) | [inline] |
Definition at line 208 of file logical_query_plan.hpp.
References hype::queryprocessing::LogicalQueryPlan< Type >::getLevelOrder().
Referenced by hype::queryprocessing::LogicalQueryPlan< Type >::convertToPhysicalQueryPlan().
const PhysicalQueryPlanPtr hype::queryprocessing::LogicalQueryPlan< Type >::runChoppedPlan | ( | ) | [inline] |
Definition at line 144 of file logical_query_plan.hpp.
References hype::queryprocessing::Construct_Physical_Query_Plan_functor< Type >::getRootOperator(), hype::core::getTimestamp(), and hype::queryprocessing::LogicalQueryPlan< Type >::query_chopping_traversal().
UnaryFunction hype::queryprocessing::LogicalQueryPlan< Type >::traverse | ( | UnaryFunction | f | ) | [inline] |
Definition at line 154 of file logical_query_plan.hpp.
References hype::queryprocessing::LogicalQueryPlan< Type >::root_.
Referenced by hype::queryprocessing::LogicalQueryPlan< Type >::LogicalQueryPlan().
UnaryFunction hype::queryprocessing::LogicalQueryPlan< Type >::traverse_inorder | ( | UnaryFunction | f, |
TypedNodePtr | node | ||
) | [inline] |
Definition at line 222 of file logical_query_plan.hpp.
Referenced by hype::queryprocessing::LogicalQueryPlan< Type >::traverse_inorder().
UnaryFunction hype::queryprocessing::LogicalQueryPlan< Type >::traverse_inorder | ( | UnaryFunction | f | ) | [inline] |
Definition at line 232 of file logical_query_plan.hpp.
References hype::queryprocessing::LogicalQueryPlan< Type >::root_, and hype::queryprocessing::LogicalQueryPlan< Type >::traverse_inorder().
UnaryFunction hype::queryprocessing::LogicalQueryPlan< Type >::traverse_preorder | ( | UnaryFunction | f | ) | [inline] |
Definition at line 270 of file logical_query_plan.hpp.
References hype::queryprocessing::LogicalQueryPlan< Type >::root_.
Referenced by hype::queryprocessing::LogicalQueryPlan< Type >::print().
TypedNodePtr hype::queryprocessing::LogicalQueryPlan< Type >::root_ [private] |
Definition at line 299 of file logical_query_plan.hpp.
Referenced by hype::queryprocessing::LogicalQueryPlan< Type >::getLevelOrder(), hype::queryprocessing::LogicalQueryPlan< Type >::LogicalQueryPlan(), hype::queryprocessing::LogicalQueryPlan< Type >::query_chopping_traversal(), hype::queryprocessing::LogicalQueryPlan< Type >::traverse(), hype::queryprocessing::LogicalQueryPlan< Type >::traverse_inorder(), and hype::queryprocessing::LogicalQueryPlan< Type >::traverse_preorder().