From d0cf2ab456ea8847d1bc8c2bd0b2e1cfa0087c9e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicol=C3=A1s=20Dimov?= Date: Sun, 30 May 2004 08:24:59 +0000 Subject: [PATCH] subo los test del obtener_claves para que bugo siga buscando por que no anda en tipo4 ( o tipo1 como mas les guste) --- emufs/tipo1.c | 2 -- emufs/tipo1_bplus_main.c | 33 +++++++++++++++++++++++++-------- emufs/tipo3.c | 1 - 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/emufs/tipo1.c b/emufs/tipo1.c index d780b12..319b3e2 100644 --- a/emufs/tipo1.c +++ b/emufs/tipo1.c @@ -1155,13 +1155,11 @@ B_PLUS_KEYBUCKET *emufs_tipo1_obtener_claves_raw(EMUFS *emu, int num_bloque) } keys->cant_keys = cant_reg; keys->current_key = 0; - for (i=0; iclaves[i] = emufs_indice_generar_clave(emu->indices, bloque+sizeof(EMUFS_TIPO1_REG_HEADER)); bloque += tam_reg+sizeof(EMUFS_TIPO1_REG_HEADER); } - free(bloque); return keys; } diff --git a/emufs/tipo1_bplus_main.c b/emufs/tipo1_bplus_main.c index 7bedc5b..3d9b15d 100644 --- a/emufs/tipo1_bplus_main.c +++ b/emufs/tipo1_bplus_main.c @@ -74,8 +74,10 @@ int main (int argc,char* argv[]) EMUFS *emu; int tam_nodo = SIZE_B_PLUS_HEADER + sizeof(CLAVE)*5 + sizeof(CLAVE)*6; EMUFS_REG_SIZE len, size; - int err=0; + int err=0, i; INDICE_DATO dato; + B_PLUS_KEYBUCKET *v; + texto = "PARTE COSNSTANTE, clave ="; emu = emufs_crear("test",T4,512,0); @@ -83,7 +85,11 @@ int main (int argc,char* argv[]) printf("No se pudo crear EMUFS\n"); return 1; } - emufs_agregar_indice(emu,"claveidx",IND_PRIMARIO,IND_B_PLUS,IDX_INT,strlen(texto),tam_nodo, 0); + if( emufs_agregar_indice(emu,"claveidx",IND_PRIMARIO,IND_B_PLUS,IDX_INT,strlen(texto),tam_nodo, 0) != 1){ + PERR("INDICE ROTO"); + emufs_destruir(emu); + return 1; + } /*REGISTRO 1*/ @@ -164,13 +170,13 @@ clave.i_clave = 95; emufs_tipo1_eliminar_ordenado(emu, clave, &err); */ - +/*- clave.i_clave = 77; emufs_tipo1_eliminar_ordenado(emu, clave, dato); clave.i_clave = 95; emufs_tipo1_eliminar_ordenado(emu, clave, dato); - +PERR("REGISTROS ELIMINADOS"); /* PERR("LEYENDO REGISTRO"); clave.i_clave = 80; @@ -179,17 +185,28 @@ r = emufs_tipo1_leer_registro_plus(emu, clave, &size, &err); imprimir_reg(r, strlen(texto), size); free(r); */ -/* -for ( i=0; i<10000; i++){ + +PERR("INSERTANDO REGISTROS"); +for ( i=0; i<100; i++){ texto2="SETPTIMO REGISTRO, lo inserto donde entre carajo2ooooooooooooooooooCLAVE = 80"; srandom(i); - clave.i_clave = random(); + clave.i_clave = random() % 100000; r = cargar_registro(texto, strlen(texto), clave, texto2, strlen(texto2)); len = strlen(texto)+strlen(texto2)+sizeof(CLAVE); emufs_tipo1_insertar_ordenado(emu, r, len, &err); free(r); } -*/ + +PERR("OBTENIENDO CLAVES"); +v = emufs_tipo1_obtener_claves_raw(emu, 3); +if (v==NULL) { + PERR("NO HAY VECTOR"); + emufs_destruir(emu); +} +PERR("PASE"); +/*printf("Las claves del bloque 3 son:\n");*/ +for (i=0; icant_keys; i++) + printf("v[%d] = %d\n", i, v->claves[i]); ver_arbol(emu); emufs_destruir(emu); diff --git a/emufs/tipo3.c b/emufs/tipo3.c index ba43342..fb0acd5 100644 --- a/emufs/tipo3.c +++ b/emufs/tipo3.c @@ -1017,7 +1017,6 @@ B_PLUS_KEYBUCKET *emufs_tipo3_obtener_claves_raw(EMUFS *emu, int num_bloque) keys->claves[i] = emufs_indice_generar_clave(emu->indices, bloque+sizeof(EMUFS_REG_ID)); bloque += tam_reg+sizeof(EMUFS_REG_ID); } - free(bloque); return keys; } -- 2.43.0