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 <core/runtime_configuration.hpp> 00017 #include <gpu/gpu_base_column.hpp> 00018 namespace CoGaDB 00019 { 00020 namespace query_processing 00021 { 00022 //Table-based query processing (hardware oblivious) 00023 typedef hype::queryprocessing::OperatorMapper_Helper_Template<TablePtr>::Map_Init_Function Map_Init_Function; 00024 typedef hype::queryprocessing::OperatorMapper_Helper_Template<TablePtr>::Physical_Operator_Map Physical_Operator_Map; 00025 typedef hype::queryprocessing::OperatorMapper_Helper_Template<TablePtr>::Physical_Operator_Map_Ptr Physical_Operator_Map_Ptr; 00026 typedef hype::queryprocessing::OperatorMapper_Helper_Template<TablePtr>::TypedOperatorPtr TypedOperatorPtr; 00027 typedef hype::queryprocessing::OperatorMapper_Helper_Template<TablePtr>::TypedLogicalNode TypedLogicalNode; 00028 typedef hype::queryprocessing::OperatorMapper_Helper_Template<TablePtr>::TypedNodePtr TypedNodePtr; 00029 typedef hype::queryprocessing::NodePtr NodePtr; 00030 typedef hype::queryprocessing::OperatorMapper_Helper_Template<TablePtr>::PhysicalQueryPlanPtr PhysicalQueryPlanPtr; 00031 typedef hype::queryprocessing::LogicalQueryPlan<TablePtr> LogicalQueryPlan; 00032 typedef boost::shared_ptr<LogicalQueryPlan> LogicalQueryPlanPtr; 00033 00034 // //Column-based query processing on CPU (hardware aware) 00035 // typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::Map_Init_Function ColumnWise_Map_Init_Function; 00036 // typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::Physical_Operator_Map ColumnWise_Physical_Operator_Map; 00037 // typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::Physical_Operator_Map_Ptr ColumnWise_Physical_Operator_Map_Ptr; 00038 // typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::TypedOperatorPtr ColumnWise_TypedOperatorPtr; 00039 // typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::TypedLogicalNode ColumnWise_TypedLogicalNode; 00040 // typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::PhysicalQueryPlanPtr ColumnWise_PhysicalQueryPlanPtr; 00041 // typedef hype::queryprocessing::LogicalQueryPlan<ColumnPtr> ColumnWise_LogicalQueryPlan; 00042 00043 // //Column-based query processing on GPU(hardware aware) 00044 // typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::Map_Init_Function GPU_ColumnWise_Map_Init_Function; 00045 // typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::Physical_Operator_Map GPU_ColumnWise_Physical_Operator_Map; 00046 // typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::Physical_Operator_Map_Ptr GPU_ColumnWise_Physical_Operator_Map_Ptr; 00047 // typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::TypedOperatorPtr GPU_ColumnWise_TypedOperatorPtr; 00048 // typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::TypedLogicalNode GPU_ColumnWise_TypedLogicalNode; 00049 // typedef hype::queryprocessing::OperatorMapper_Helper_Template<ColumnPtr>::PhysicalQueryPlanPtr GPU_ColumnWise_PhysicalQueryPlanPtr; 00050 // typedef hype::queryprocessing::LogicalQueryPlan<ColumnPtr> GPU_ColumnWise_LogicalQueryPlan; 00051 00052 00053 }//end namespace query_processing 00054 }; //end namespace CogaDB