X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/ecddfc3161e6285cdd95ec7237d1e8e562a594a1..84522123b3e93279cdb2bebd54a134dce2cacd1f:/emufs/tipo3.c diff --git a/emufs/tipo3.c b/emufs/tipo3.c index a76725c..24d2e72 100644 --- a/emufs/tipo3.c +++ b/emufs/tipo3.c @@ -585,7 +585,37 @@ void emufs_tipo3_leer_bloque_raw(EMUFS *efs, EMUFS_BLOCK_ID id, char **actual, c (*size1) = (*size2) = (*size3) = efs->tam_bloque; } -int emufs_tipo3_insertar_ordenado(EMUFS *emu, void *ptr, CLAVE clave, int offset, EMUFS_BLOCK_ID num_bloque, int *err) +int emufs_tipo3_insertar_ordenado(EMUFS *emu, void *ptr, int *err) { + #ifdef ESTO_NO_ANDA_TODAVIA + CLAVE clave, clave_aux; + EMUFS_BLOCK_ID num_bloque = get_new_block_number(emu); /*implementar esto*/ + INDEX_DAT query; + char *bloque, *new_bloque, *registro; + + /*le asigno un posible numero de bloque para el caso en que no encuentre donde meterlo*/ + query.num_bloque = num_bloque; + /*saco la clave del stream*/ + query.clave = emufs_indice_generar_clave(emu->indices, ptr); + /*mando a buscar en el arbol el bloque correspondiente a esa clave*/ + emu->indices->emufs_b_plus_get_bloque(ind, &query); + /*en query->num_bloque tengo el bloque donde debo meter el registro*/ + + /*cargo el bloque*/ + bloque = emufs_tipo3_leer_bloque(emu, query.num_bloque, err); + if (err != 0){ + PERR("NO SE PUDO LEER EL BLOQUE"); + return -1; + } + + /*debo insertar el reg en el bloque en forma ordenada*/ + /*si es el menor de todos tengo que cambiar el ancla en el arbol*/ + /*si no entra, tengo que insertar una nueva clave en el arbol y separar los registros en 2 bloques*/ + + + + + + #endif /*ESTO_NO_ANDA_TODAVIA*/ return 0; }