00001 /* 00002 * RecordFileHandle.h 00003 * 00004 * Created on: Mar 28, 2010 00005 * Author: green 00006 */ 00007 00008 #ifndef RECORDFILEHANDLE_H_ 00009 #define RECORDFILEHANDLE_H_ 00010 00011 #include "PageFileHandle.h" 00012 #include "Record.h" 00013 00014 00018 class RecordFileHandle { 00019 00020 public: 00024 RecordFileHandle(); 00025 00029 ~RecordFileHandle(); 00030 00047 ReturnCode initialize(PageFileHandle *fileHandle); 00048 00060 ReturnCode getRecord(RecordID *rid, Record *record); 00061 00074 ReturnCode insertRecord(char *data, RecordID *rid); 00075 00085 ReturnCode deleteRecord(RecordID *rid); 00086 00097 ReturnCode updateRecord(Record *record); 00098 00107 ReturnCode forcePage(int pageNo); 00108 00115 ReturnCode forceAllPages(); 00116 00124 PageFileHandle* getFileHandle(); 00125 00129 uint getRecordSize(); 00130 00131 }; 00132 00133 00134 #endif /* RECORDFILEHANDLE_H_ */