00001 /* 00002 * RecordFileScan.h 00003 * 00004 * Created on: Mar 28, 2010 00005 * Author: green 00006 */ 00007 00008 #ifndef RECORDFILESCAN_H_ 00009 #define RECORDFILESCAN_H_ 00010 00015 #include "RecordFileManager.h" 00016 #include "Record.h" 00017 00028 typedef struct { 00029 AttributeType type; 00030 int attrLength; 00031 int attrOffset; 00032 ComparisonOp compOp; 00033 union { 00034 int value_i; 00035 float value_f; 00036 const char* value_str; 00037 }; 00038 } RecordFileScanCondition; 00039 00047 class RecordFileScan { 00048 public: 00049 00050 RecordFileScan(); 00051 ~RecordFileScan(); 00052 00075 ReturnCode openScan(RecordFileHandle *fileHandle, RecordFileScanCondition* condition); 00076 00086 ReturnCode getNextRecord(Record *record); 00087 00094 ReturnCode closeScan(); 00095 00096 }; 00097 00098 00099 #endif /* RECORDFILESCAN_H_ */