Column-oriented GPU-accelerated Database Management System
CoGaDB
|
00001 #pragma once 00002 00003 #include <string> 00004 #include <core/global_definitions.hpp> 00005 #include <hype.hpp> 00006 00007 namespace CoGaDB{ 00008 00009 00010 class RuntimeConfiguration{ 00011 public: 00012 static RuntimeConfiguration& instance(); 00013 void setPathToDatabase(const std::string&); 00014 const std::string& getPathToDatabase(); 00015 void setParallelizationModeForTwoPhasePhysicalOptimizationQueryPlans(ParallelizationMode); 00016 ParallelizationMode getParallelizationModeForTwoPhasePhysicalOptimizationQueryPlans() const; 00017 bool getPrintQueryPlan() const; 00018 void setPrintQueryPlan(bool); 00019 void setQueryChoppingEnabled(bool); 00020 bool isQueryChoppingEnabled() const; 00021 bool setGlobalDeviceConstraint(const hype::DeviceConstraint&); 00022 hype::DeviceConstraint getGlobalDeviceConstraint() const; 00023 private: 00024 RuntimeConfiguration(); 00025 RuntimeConfiguration(const RuntimeConfiguration&); 00026 RuntimeConfiguration& operator=(RuntimeConfiguration&); 00027 std::string path_to_database_; 00028 bool print_query_plan_; 00029 bool enable_query_chopping_; 00030 hype::DeviceConstraint global_device_constraint_; 00031 ParallelizationMode two_phase_physical_optimization_parallelization_mode; 00032 }; 00033 00034 }; //end namespace CogaDB 00035