Column-oriented GPU-accelerated Database Management System
CoGaDB
|
00001 00002 #pragma once 00003 00004 #include <vector> 00005 #include <list> 00006 #include <map> 00007 #include <string> 00008 #include <boost/any.hpp> 00009 00010 #include <boost/shared_ptr.hpp> 00011 00012 namespace shared_pointer_namespace = boost; //std::tr1 00013 00014 namespace CoGaDB { 00015 00016 enum AttributeType{INT,FLOAT,VARCHAR,BOOLEAN}; 00017 00018 enum ComputeDevice{CPU,GPU}; 00019 00020 enum AggregationMethod{SUM,MIN,MAX}; 00021 00022 enum ValueComparator{LESSER,GREATER,EQUAL}; 00023 00024 enum SortOrder{ASCENDING,DESCENDING}; 00025 00026 enum Operation{SELECTION,PROJECTION,JOIN,GROUPBY,SORT,COPY,AGGREGATION,FULL_SCAN,INDEX_SCAN}; 00027 00028 enum JoinAlgorithm{SORT_MERGE_JOIN,NESTED_LOOP_JOIN,HASH_JOIN}; 00029 00030 enum MaterializationStatus{MATERIALIZE,LOOKUP}; 00031 00032 enum ParallelizationMode{SERIAL,PARALLEL}; 00033 00034 enum DebugMode{quiet=1, 00035 verbose=0, 00036 debug=0, 00037 print_time_measurement=0}; 00038 00039 00040 //enum DebugMode{quiet=0, 00041 // verbose=1, 00042 // debug=1}; 00043 00044 typedef unsigned int TID; 00045 00046 typedef std::pair<TID,TID> TID_Pair; 00047 00048 typedef std::pair<AttributeType,std::string> Attribut; 00049 00050 typedef std::list<Attribut> TableSchema; 00051 00052 typedef std::vector<boost::any> Tuple; 00053 00054 //struct Attribut { 00055 00056 // AttributeType type_; 00057 // std::string name_; 00058 // ColumnPtr column_; 00059 00060 // AttributeType& first; 00061 // std::string& second; 00062 00063 //} 00064 00065 00066 }; //end namespace CogaDB 00067