b_plus_destruir_nodo(node);
node = b_plus_leer_nodo(idx,num_child);
}
- else break;
+ else {
+ b_plus_destruir_nodo(node);
+ return key;
+ }
}
/* Ahora estoy en la primer hoja del arbol, devuelvo la primer clave */
node = b_plus_leer_nodo(idx,0);
if (node == NULL) {
key.i_clave = -1;
+ b_plus_destruir_nodo(node);
return key;
}
node = b_plus_leer_nodo(idx,num_child);
cant_claves = node->cant_claves;
}
- else return key;
+ else {
+ b_plus_destruir_nodo(node);
+ return key;
+ }
}
/* Ahora estoy en la ultima hoja del arbol, devuelvo la ultima clave */
bucket = idx->padre->obtener_claves_raw(idx->padre,node->hijos[cant_claves-1]);
key = bucket->claves[bucket->cant_keys-1];
+ free(bucket->claves);
free (bucket);
b_plus_destruir_nodo(node);