X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/defa938b3f327a42634161a5815e06f94b20b554..73a6ae0f1a0f50a482d164f24d5894105b4aea9f:/emufs/indices.c diff --git a/emufs/indices.c b/emufs/indices.c index 1728d19..18e3327 100644 --- a/emufs/indices.c +++ b/emufs/indices.c @@ -2,7 +2,7 @@ #include "indices.h" #include "emufs.h" #include "indice_b.h" -#include "common.h" +#include "indice_bplus.h" INDICE *emufs_indice_crear(EMUFS *emu, char *nombre, INDICE_FUNCION funcion, INDICE_TIPO tipo, INDICE_TIPO_DATO tipo_dato, unsigned int offset, unsigned int tam_bloque) { @@ -50,6 +50,8 @@ INDICE *emufs_indice_crear(EMUFS *emu, char *nombre, INDICE_FUNCION funcion, IND tmp->offset = offset; tmp->sig = NULL; + tmp->size_claves = 0; + tmp->size_hijos = 0; switch (tipo) { case IND_B: @@ -65,6 +67,14 @@ INDICE *emufs_indice_crear(EMUFS *emu, char *nombre, INDICE_FUNCION funcion, IND PERR("Creando indice con Arbol B*"); PERR("AÚN NO IMPLEMENTADO!!!!!!!!"); break; + case IND_B_PLUS: + /* llenar metodos */ + PERR("Creando indice con Arbol B+"); + tmp->size_claves = (tmp->tam_bloque - SIZE_B_PLUS_HEADER - sizeof(int))/2; /* Fix sizeof(CLAVE?) */ + tmp->size_hijos = tmp->size_claves + sizeof(int); + emufs_b_plus_crear(tmp); + PERR("AÚN NO IMPLEMENTADO DEL TODO!!!!!!!!"); + break; } return tmp; @@ -205,4 +215,3 @@ int emufs_indice_es_igual(INDICE *idx, CLAVE c1, CLAVE c2) } return 0; } -