From: Alan Kennedy Date: Thu, 27 May 2004 01:50:17 +0000 (+0000) Subject: More renames.. X-Git-Tag: svn_import_r684~168 X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/commitdiff_plain/8c383afd3c15f7a916cc14f43066a04d9a3e7612?ds=sidebyside More renames.. --- diff --git a/emufs/indice_bplus.h b/emufs/indice_bplus.h new file mode 100644 index 0000000..7e88a2c --- /dev/null +++ b/emufs/indice_bplus.h @@ -0,0 +1,34 @@ +#ifndef _B_PLUS_H_ +#define _B_PLUS_H_ +#include +#include +#include "emufs.h" +#include + +#define SIZE_B_PLUS_HEADER (sizeof(int)*2) + +typedef struct _index_dat_ { + EMUFS_BLOCK_ID num_bloque; + CLAVE clave; +} INDEX_DAT; + +/** Estructura que define un nodo B+. Para los nodos hojas, el ultimo valor de hijo, serĂ¡ el nro + * de nodo con el que se encadena el actual. (Lista de nodos a nivel hoja. Sequence Set). + */ +typedef struct nodo_b_plus { + int nivel; /** Nivel del nodo */ + int cant_claves; /** Cantidad de claves en el nodo */ + int *claves; /** Claves del nodo */ + int *hijos; /** Para nodo interno, ref nodos sucesores. Nodo hoja, ref a nro bloque en .dat */ +} NODO_B_PLUS; + +/** TODO */ +int emufs_b_plus_crear(INDEX *idx); +int emufs_b_plus_get_bloque(INDEX *idx, INDEX_DAT *query, int num_node); +int emufs_b_plus_insertar(INDEX *idx, INDEX_DAT *query); +int emufs_b_plus_actualizar_nodo(INDEX_DAT *dataset); +int emufs_b_plus_buscar(); +int emufs_b_plus_destuir(); +NODO_B_PLUS *b_plus_leer_nodo(INDEX *idx, int num); + +#endif