Column-oriented GPU-accelerated Database Management System
CoGaDB
|
00001 #pragma once 00002 00003 #include <hype.hpp> 00004 #include <query_processing/processing_device.hpp> 00005 #include <query_processing/logical_query_plan.hpp> 00006 #include <cstdlib> 00007 #include <functional> 00008 #include <algorithm> 00009 #include <stack> 00010 #include <boost/date_time.hpp> 00011 #include <boost/date_time/posix_time/posix_time.hpp> 00012 #include <boost/function.hpp> 00013 #include <boost/bind.hpp> 00014 //CoGaDB 00015 #include <core/base_table.hpp> 00016 #include <gpu/gpu_base_column.hpp> 00017 namespace CoGaDB 00018 { 00019 namespace query_processing 00020 { 00022 namespace column_processing{ 00024 namespace cpu{ 00025 //Column-based query processing on CPU (hardware aware) 00026 typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::Map_Init_Function Map_Init_Function; 00027 typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::Physical_Operator_Map Physical_Operator_Map; 00028 typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::Physical_Operator_Map_Ptr Physical_Operator_Map_Ptr; 00029 typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::TypedOperatorPtr TypedOperatorPtr; 00030 typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::TypedLogicalNode TypedLogicalNode; 00031 typedef boost::shared_ptr<TypedLogicalNode> TypedLogicalNodePtr; 00032 typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::PhysicalQueryPlanPtr PhysicalQueryPlanPtr; 00033 typedef hype::queryprocessing::LogicalQueryPlan<ColumnPtr> LogicalQueryPlan; 00034 typedef boost::shared_ptr<LogicalQueryPlan> LogicalQueryPlanPtr; 00035 00036 00037 namespace filter_operation{ 00038 //typedef hype::queryprocessing::OperatorMapper_Helper_Template<PositionListPtr>::TypedOperatorPtr TypedOperatorPtr; 00039 typedef hype::queryprocessing::OperatorMapper_Helper_Template<PositionListPtr>::Map_Init_Function Map_Init_Function; 00040 typedef hype::queryprocessing::OperatorMapper_Helper_Template<PositionListPtr>::Physical_Operator_Map Physical_Operator_Map; 00041 typedef hype::queryprocessing::OperatorMapper_Helper_Template<PositionListPtr>::Physical_Operator_Map_Ptr Physical_Operator_Map_Ptr; 00042 typedef hype::queryprocessing::OperatorMapper_Helper_Template<PositionListPtr>::TypedOperatorPtr TypedOperatorPtr; 00043 typedef hype::queryprocessing::OperatorMapper_Helper_Template<PositionListPtr>::TypedLogicalNode TypedLogicalNode; 00044 typedef hype::queryprocessing::OperatorMapper_Helper_Template<PositionListPtr>::PhysicalQueryPlanPtr PhysicalQueryPlanPtr; 00045 typedef hype::queryprocessing::LogicalQueryPlan<PositionListPtr> LogicalQueryPlan; 00046 } 00047 } 00049 namespace gpu{ 00050 //Column-based query processing on GPU(hardware aware) 00051 typedef hype::queryprocessing::OperatorMapper_Helper_Template<CoGaDB::gpu::GPU_Base_ColumnPtr>::Map_Init_Function Map_Init_Function; 00052 typedef hype::queryprocessing::OperatorMapper_Helper_Template<CoGaDB::gpu::GPU_Base_ColumnPtr>::Physical_Operator_Map Physical_Operator_Map; 00053 typedef hype::queryprocessing::OperatorMapper_Helper_Template<CoGaDB::gpu::GPU_Base_ColumnPtr>::Physical_Operator_Map_Ptr Physical_Operator_Map_Ptr; 00054 typedef hype::queryprocessing::OperatorMapper_Helper_Template<CoGaDB::gpu::GPU_Base_ColumnPtr>::TypedOperatorPtr TypedOperatorPtr; 00055 typedef hype::queryprocessing::OperatorMapper_Helper_Template<CoGaDB::gpu::GPU_Base_ColumnPtr>::TypedLogicalNode TypedLogicalNode; 00056 typedef hype::queryprocessing::OperatorMapper_Helper_Template<CoGaDB::gpu::GPU_Base_ColumnPtr>::PhysicalQueryPlanPtr PhysicalQueryPlanPtr; 00057 typedef hype::queryprocessing::LogicalQueryPlan<CoGaDB::gpu::GPU_Base_ColumnPtr> LogicalQueryPlan; 00058 } 00059 } //end namespace column_processing 00060 }//end namespace query_processing 00061 }; //end namespace CogaDB