Node* BPlusTree::hidratateNode(int numeroDeNodo) { ByteString byteStr = this->fileBlockManager->readBlock(numeroDeNodo); if (byteStr.isEmpty()) { return NULL; } else { int nivel = byteStr.readAsInt(0); if (nivel == 0) { LeafNode *nuevoNodoHoja = createLeafNode(); nuevoNodoHoja->Hidratate(byteStr); nuevoNodoHoja->number = numeroDeNodo; return nuevoNodoHoja; } else { InnerNode *nuevoNodoInterior = createInnerNode(nivel); nuevoNodoInterior->Hidratate(byteStr); nuevoNodoInterior->number = numeroDeNodo; return nuevoNodoInterior; } } }
Node* ClassifBPlusTree::hidratateNode(int nodeNumber) { int block = fileBlockNodeMapper->getBlock(nodeNumber); ByteString byteStr = this->fileBlockManager->readBlock(block); if (byteStr.isEmpty()) { return NULL; } else { int nivel = byteStr.readAsInt(0); if (nivel == 0) { LeafNode *nuevoNodoHoja = createLeafNode(); nuevoNodoHoja->Hidratate(byteStr); nuevoNodoHoja->number = nodeNumber; return nuevoNodoHoja; } else { InnerNode *nuevoNodoInterior = createInnerNode(nivel); nuevoNodoInterior->Hidratate(byteStr); nuevoNodoInterior->number = nodeNumber; return nuevoNodoInterior; } } }