]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blobdiff - src/btree.cpp
Incremento automatico de block_data.
[z.facultad/75.52/treemulator.git] / src / btree.cpp
index 77967bf45ce1471d2a90793753067547f96f7a47..fc62f5ba108079ad1de6177848f5ad49e1ba88f6 100644 (file)
@@ -19,6 +19,7 @@ BTree::BTree (const std::string &name, unsigned int block_size, int tt, int kt,
        header.block_size = block_size;
        header.tree_type = tt;
        header.key_type = kt;
        header.block_size = block_size;
        header.tree_type = tt;
        header.key_type = kt;
+       header.block_data_counter = 0;
        WriteFileHeader ();
 
        /* Creo el primer bloque vacio */
        WriteFileHeader ();
 
        /* Creo el primer bloque vacio */
@@ -100,8 +101,7 @@ void BTree::AddKey (const Clave &k)
        Clave *kout, *in;
 
        in = k.Clone ();
        Clave *kout, *in;
 
        in = k.Clone ();
-       /* TODO : Hacer un contador con recuperacion */
-       in->SetBlockData (0);
+       in->SetBlockData ( GetNextBlockData () );
 
        try {
                kout = AddKeyR (in->Clone (), 0, left, right);
 
        try {
                kout = AddKeyR (in->Clone (), 0, left, right);
@@ -1298,3 +1298,10 @@ int BTree::type () const
 {
        return header.key_type;
 }
 {
        return header.key_type;
 }
+
+uint BTree::GetNextBlockData ()
+{
+       /* TODO : Implementar recuperacion */
+       return header.block_data_counter++;
+}
+