void deleteRec(int offset, int length) { //--- delete record data --- memset(this->data[offset], 0, length); //--- move records behind the deleted record forward --- //--- & update the slot directory with their new offset value --- relocateRec(offset, length); //update usedPtr, freeSpace --- this->usedPtr = this->usedPtr + length; this->freeSpace = this->freeSpace + length; }
void HFPage::deleteRec(int offset, int length) { //--- delete record data --- memset(&(this->data[offset]), 0, length); //--- move records behind the deleted record forward --- //--- & update the slot directory with their new offset value --- relocateRec(offset, length); //update usedPtr, freeSpace --- this->usedPtr = this->usedPtr + length; if(this->slotCnt == 0) this->freeSpace = MAX_SPACE - DPFIXED; else this->freeSpace = this->usedPtr - (this->slotCnt - 1) * sizeof(slot_t); }