]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs/indices.h
Agrego un atributo mas a INDICE para poder implementar el obtener siguiente en el B+
[z.facultad/75.06/emufs.git] / emufs / indices.h
index 543e879ffcb3e2d20060ec2f7ae1a16e54eccf12..d85f56e2eb1a5b4d6ecaedfd4ee626611c50c670 100644 (file)
@@ -48,6 +48,13 @@ typedef union _data_ {
        int i_clave;
 } CLAVE;
 
+/** Bucket de keys en bloque para B+ */
+typedef struct _keybucket_ {
+       int cant_keys;
+       int current_key;
+       CLAVE *claves;
+} B_PLUS_KEYBUCKET;
+
 /** Manejo de Indices independiente */
 typedef struct _indices_h_ {
        INDICE_TIPO tipo;             /**< Tipo de indice */
@@ -60,6 +67,7 @@ typedef struct _indices_h_ {
        /******NICO********/
        unsigned int size_claves;
        unsigned int size_hijos;
+       B_PLUS_KEYBUCKET *keybucket; /**< Usado por B+ para implementar el obtener_sig_clave. Posee keys de un bloque */
        /******NICO********/
        /** Agrega la clave k de posicion location en el 
         * indice de forma ordenada