void RecordManager::commit() { if (BufferManager::status == "DISABLE") {} else { //BufferManager::clearBlocks(); cout << "cm: " << tables.size() << endl; for (int i = 0; i < tables.size(); i++) { TablePtr tPtr = TablePtr(new Table(tables[i])); //tPtr->printBlocks(); if (tPtr->blankTable()) break; cout << "ds: " << tables[i].tableName << endl; TableRowPtr lastRowPtr = tPtr->getTail(); cout << "ls: " << lastRowPtr->getAddr().getOffset() << endl; //queue<TableRowPtr> & bQueue = iter->second; while (!tPtr->noBlank()) { TableRowPtr rPtr = tPtr->getBlankRow(); cout << "tr: " << rPtr->getAddr().getOffset(); tPtr->popBlank(); //while (!lastRowPtr->isBlank()) lastRowPtr = tPtr->getPrevious(rPtr); cout << " ls: " << lastRowPtr->getAddr().getOffset() << endl; tPtr->fillBlank(rPtr, lastRowPtr->getValues()); lastRowPtr = tPtr->getPrevious(lastRowPtr); } cout << "[]" << endl; tPtr->printBlocks(); tPtr->notifyCleanup(); //tPtr->printBlocks(); cout << "last: " << lastRowPtr->getAddr().getOffset() << endl; tPtr->notifyTruncate(lastRowPtr->getAddr()); } } }