Column-oriented GPU-accelerated Database Management System
CoGaDB
|
00001 #pragma once 00002 #include <core/global_definitions.hpp> 00003 #include <persistence/page.hpp> 00004 00005 namespace CoGaDB 00006 { 00007 00012 struct BufferObject 00013 { 00014 public: 00015 BufferObject(PagePtr, std::string, std::string, std::string); 00016 BufferObject(const BufferObject&); 00017 ~BufferObject(); 00018 BufferObject& operator=(const BufferObject&); 00019 PagePtr getPage(); 00020 std::string getPath() const; 00021 //bool operator<(const BufferObject&) const; 00022 std::string getTableName() const; 00023 std::string getColName() const; 00024 BufferObject* next() const; 00025 BufferObject* prev() const; 00026 void setNext(BufferObject*); 00027 void setPrev(BufferObject*); 00028 bool containsContentOf(std::string, std::string) const; 00029 void printStatus() const; 00030 00031 private: 00032 struct BufferObject* _next; 00033 struct BufferObject* _prev; 00034 PagePtr _page; 00035 std::string _path; 00036 std::string _table; 00037 std::string _col; 00038 }; 00039 }