 
  
  
   
Here is the public interfaces of LinearHashingFile:
class LinearHashingFile : public IndexFile {
public:
    // constructor for the LinearHashingFile class -- create the index
    // name -- name of the index
    // length, type -- describing the key attribute
    // N -- the number of initial buckets, default = 1
    LinearHashingFile(Status& status, const char* name, const int length,
                      const AttrType type, const int N = 1); 
    // constructor for the LinearHashingFile class -- open the index
    // assume the index already exists
    // name -- name of the index
    LinearHashingFile(Status& status, const char * name);
    // destructor
    ~LinearHashingFile();
    // destroy the index
    Status destroyFile(void);
    
    // insert an entry <value, rid> to the index
    Status insert(const void* value, const RID rid);
    // delete an entry <value, rid> from the index
    Status Delete(const void* value, const RID rid);
    
    // open an exact match scan with "value" as the key
    IndexFileScan * new_scan(const void* value);
#ifdef DEBUGLH
    void PrintHeader();             // print the header info
    void PrintBucket();             // print all the buckets
    void PrintBucket(int BucNum);   // print bucket "BucNum"
#endif DEBUGLH
};