]> git.llucax.com Git - z.facultad/75.52/treemulator.git/commitdiff
Agrego atributo de tipo de arbol.
authorRicardo Markiewicz <rmarkie@fi.uba.ar>
Thu, 27 Oct 2005 23:48:32 +0000 (23:48 +0000)
committerRicardo Markiewicz <rmarkie@fi.uba.ar>
Thu, 27 Oct 2005 23:48:32 +0000 (23:48 +0000)
src/btree.cpp
src/btree.h

index 5b1c36dcd2ee7b3163805e7567fce8b533f22134..9fece76b5d46a9977ec0c42655f1fd9290bcb5d0 100644 (file)
@@ -1,9 +1,10 @@
 
 #include "btree.h"
 
-BTree::BTree (const std::string &name, unsigned int block_size, int kt, bool create_new_file)
+BTree::BTree (const std::string &name, unsigned int block_size, int tt, int kt, bool create_new_file)
 {
        key_type = kt;
+       tree_type = tt;
        uchar *node;
        BTreeNodeHeader nh;
 
index f888eea9fbec91af7c22335448b9d01f0b08717c..7d640725468cea0d2be9514db16740f675fe71ec 100644 (file)
@@ -121,7 +121,7 @@ struct BTreeFindResult {
  */
 class BTree {
        public:
-               BTree (const std::string &filename, unsigned int block_size, int k_t = KEY_FIXED, bool create_new_file = false);
+               BTree (const std::string &filename, unsigned int block_size, int t_t = TYPE_UNIQUE, int k_t = KEY_FIXED, bool create_new_file = false);
                ~BTree ();
 
                /** Tipos de clave a usar */
@@ -130,6 +130,11 @@ class BTree {
                        KEY_VARIABLE  /**< Utilización de clave de longitud variable */
                };
 
+               enum {
+                       TYPE_UNIQUE,
+                       TYPE_SELECTIVE
+               };
+       
                /** Agrega una nueva clave al árbol. */
                void AddKey (const Clave &k);
                /** Elimina una clave del árbol. */
@@ -182,6 +187,7 @@ class BTree {
                std::string filename;
                BTreeFileHeader header;
                int key_type;
+               int tree_type;
 
                /** Apunta al archivo de datos, asi se abre solo 1 vez
                 *