LinearHashingFile



next up previous
Next: LinearHashingFile(Status& statusconst Up: External Interface Previous: External Interface

LinearHashingFile

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
};





Weiqing Huang
Sun May 14 16:22:27 CDT 1995