Column-oriented GPU-accelerated Database Management System
CoGaDB
|
#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_ |
typedef Type hype::queryprocessing::LogicalQueryPlan< Type >::NodeElementType |
typedef OperatorMapper_Helper_Template<Type>::Physical_Operator_Map hype::queryprocessing::LogicalQueryPlan< Type >::Physical_Operator_Map |
typedef OperatorMapper_Helper_Template<Type>::PhysicalQueryPlanPtr hype::queryprocessing::LogicalQueryPlan< Type >::PhysicalQueryPlanPtr |
typedef OperatorMapper_Helper_Template<Type>::TypedNodePtr hype::queryprocessing::LogicalQueryPlan< Type >::TypedNodePtr |
typedef OperatorMapper_Helper_Template<Type>::TypedOperatorPtr hype::queryprocessing::LogicalQueryPlan< Type >::TypedOperatorPtr |
hype::queryprocessing::LogicalQueryPlan< Type >::LogicalQueryPlan | ( | TypedNodePtr | root | ) | [inline] |
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] |
Referenced by hype::queryprocessing::LogicalQueryPlan< Type >::query_chopping_traversal().
const PhysicalQueryPlanPtr hype::queryprocessing::LogicalQueryPlan< Type >::convertToPhysicalQueryPlan | ( | ) | [inline] |
References hype::queryprocessing::Construct_Physical_Query_Plan_functor< Type >::getRootOperator(), and hype::queryprocessing::LogicalQueryPlan< Type >::reverse_traverse().
Referenced by CoGaDB::unit_tests::addConstantColumnTest(), CoGaDB::unit_tests::basicQueryTest(), CoGaDB::unit_tests::ColumnorientedQueryPlanTest(), CoGaDB::complex_tpch_queries(), CoGaDB::unit_tests::complexSelectionTest(), CoGaDB::unit_tests::crossjoinTest(), CoGaDB::query_processing::optimize_and_execute(), CoGaDB::simple_SSB_Query_Aggregation(), CoGaDB::simple_SSB_Query_Join(), CoGaDB::simple_SSB_Query_Selection(), and CoGaDB::unit_tests::TableBasedColumnConstantOperatorTest().
std::list<TypedNodePtr> hype::queryprocessing::LogicalQueryPlan< Type >::getLevelOrder | ( | ) | [inline] |
References hype::queryprocessing::LogicalQueryPlan< Type >::root_.
Referenced by hype::queryprocessing::LogicalQueryPlan< Type >::reverse_traverse().
void hype::queryprocessing::LogicalQueryPlan< Type >::print | ( | ) | [inline] |
References hype::queryprocessing::LogicalQueryPlan< Type >::traverse_preorder().
Referenced by CoGaDB::unit_tests::basicQueryTest(), CoGaDB::unit_tests::ColumnorientedQueryPlanTest(), CoGaDB::complex_tpch_queries(), CoGaDB::unit_tests::complexSelectionTest(), CoGaDB::unit_tests::crossjoinTest(), CoGaDB::query_processing::optimize_and_execute(), CoGaDB::simple_SSB_Query_Aggregation(), CoGaDB::simple_SSB_Query_Join(), and CoGaDB::simple_SSB_Query_Selection().
UnaryFunction hype::queryprocessing::LogicalQueryPlan< Type >::query_chopping_traversal | ( | UnaryFunction | f | ) | [inline] |
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] |
References hype::queryprocessing::LogicalQueryPlan< Type >::getLevelOrder().
Referenced by hype::queryprocessing::LogicalQueryPlan< Type >::convertToPhysicalQueryPlan().
const PhysicalQueryPlanPtr hype::queryprocessing::LogicalQueryPlan< Type >::runChoppedPlan | ( | ) | [inline] |
References hype::queryprocessing::Construct_Physical_Query_Plan_functor< Type >::getRootOperator(), hype::core::getTimestamp(), and hype::queryprocessing::LogicalQueryPlan< Type >::query_chopping_traversal().
Referenced by CoGaDB::query_processing::optimize_and_execute().
UnaryFunction hype::queryprocessing::LogicalQueryPlan< Type >::traverse | ( | UnaryFunction | f | ) | [inline] |
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] |
Referenced by hype::queryprocessing::LogicalQueryPlan< Type >::traverse_inorder().
UnaryFunction hype::queryprocessing::LogicalQueryPlan< Type >::traverse_inorder | ( | UnaryFunction | f | ) | [inline] |
References hype::queryprocessing::LogicalQueryPlan< Type >::root_, and hype::queryprocessing::LogicalQueryPlan< Type >::traverse_inorder().
UnaryFunction hype::queryprocessing::LogicalQueryPlan< Type >::traverse_preorder | ( | UnaryFunction | f | ) | [inline] |
References hype::queryprocessing::LogicalQueryPlan< Type >::root_.
Referenced by hype::queryprocessing::LogicalQueryPlan< Type >::print().
TypedNodePtr hype::queryprocessing::LogicalQueryPlan< Type >::root_ [private] |
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().