-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGenericDBFile.h
39 lines (31 loc) · 923 Bytes
/
GenericDBFile.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#ifndef GENDBFILE_H
#define GENDBFILE_H
#include "TwoWayList.h"
#include "Record.h"
#include "Schema.h"
#include "File.h"
#include "Comparison.h"
#include "ComparisonEngine.h"
#define SUCCESS 1
#define FAILURE 0
typedef enum {heap, sorted, tree} fType;
// stub DBFile header..replace it with your own DBFile.h
class GenericDBFile {
public:
char *filepath;
File metaFilefile;
off_t totalPageCount;
off_t currentPage;
Page page;
ComparisonEngine comparator;
virtual int Create (const char *fpath, fType file_type, void *startup) = 0;
virtual int Open (const char *fpath) = 0;
virtual int Close () = 0;
virtual void Load (Schema &myschema, const char *loadpath) = 0;
virtual void MoveFirst ()= 0;
virtual void Add (Record &addme)= 0;
//virtual void HopefullyHarmless()= 0;
virtual int GetNext (Record &fetchme)= 0;
virtual int GetNext (Record &fetchme, CNF &cnf, Record &literal)= 0;
};
#endif