switch(emu->tipo){
case T1: num = (ftell(fp)-sizeof(EMUFS_Tipo)-sizeof(EMUFS_BLOCK_SIZE))/emu->tam_bloque;
if (ftell(fp) == sizeof(EMUFS_Tipo)+sizeof(EMUFS_BLOCK_SIZE)) num = 0;
- PERR("PASE");
break;
case T3: num = (ftell(fp)-sizeof(EMUFS_Tipo)-sizeof(EMUFS_BLOCK_SIZE)-sizeof(EMUFS_REG_SIZE))/emu->tam_bloque;
if (ftell(fp) == sizeof(EMUFS_Tipo)+sizeof(EMUFS_BLOCK_SIZE)+sizeof(EMUFS_REG_SIZE)) num = 0;
if (i < 0) {
/* La clave es menor que todas, debo insertarla */
b_plus_destruir_nodo(nodo);
- /*emufs_b_plus_insertar(idx,query);*/
+ /*emufs_b_plus_insertar(idx,query); */
return -1;
}
else {
clave = grabar_ordenado_en_bloque(emu,ptr,size,new_bloque,query.num_bloque, emu->tam_bloque-move_size,err);
/*actualizo el arbol con la nueva clave*/
query.clave = clave;
+ printf("clave enviada = %d\n", clave);
emufs_b_plus_insertar(emu->indices, &query);
/*grabo el bloque original*/
emufs_tipo1_grabar_bloque_fsc(emu, bloque, num_bloque, EMUFS_NOT_FOUND, err);
emufs_tipo1_grabar_bloque_fsc(emu, new_bloque, query.num_bloque, EMUFS_NOT_FOUND, err);
/*grabo el registro en el bloque original*/
grabar_ordenado_en_bloque(emu,ptr,size,bloque,num_bloque,fs+move_size,err);
+ /*actualizo el arbol con la menor clave del bloque nuevo*/
+ query.clave = emufs_indice_generar_clave(emu->indices, new_bloque+sizeof(EMUFS_TIPO1_REG_HEADER));
+ emufs_b_plus_insertar(emu->indices, &query);
}
if(*err != 0){
PERR("NO SE PUDO GRABAR ORDENADO");
EMUFS *emu;
int tam_nodo = SIZE_B_PLUS_HEADER + sizeof(CLAVE)*5 + sizeof(CLAVE)*6;
EMUFS_REG_SIZE len;
- int err=0;
+ int err=0, i;
texto = "PARTE COSNSTANTE, clave =";
emu = emufs_crear("test",T1,512,0);
PERR("REGISTRO 7 GRABADO");
free(r);
+for ( i=0; i<10000; i++){
+ texto2="SETPTIMO REGISTRO, lo inserto donde entre carajo2ooooooooooooooooooCLAVE = 80";
+ srandom(i);
+ clave.i_clave = random();
+ /*printf("Clave random = %d\n", clave.i_clave);*/
+ 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);
+ /*PERR("REGISTRO 7 GRABADO");*/
+ free(r);
+}
+
emufs_destruir(emu);
return 0;