Column-oriented GPU-accelerated Database Management System
CoGaDB
/home/sebastian/gpudbms/trunk/cogadb/include/persistence/buffer_object.hpp
Go to the documentation of this file.
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 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines