Examples of BTree

The first reference was used to implement this class.

TODO: clean up code @author Arjohn Kampman @author Enrico Minack

  • uk.ac.open.kmi.smartproducts.sesame.sail.btree.BTree
    tvincent.edu/swd/btree/btree.html
  • ,
  • http://bluerwhite.org/btree/
  • , and
  • http://semaphorecorp.com/btp/algo.html
  • . The first reference was used to implement this class.

    TODO: clean up code @author Arjohn Kampman @author Enrico Minack

  • xbird.storage.index.BTree
    BTree represents a Variable Magnitude Simple-Prefix B+Tree File.
    @author Makoto YUI (yuin405+xbird@gmail.com)

  • Examples of org.openrdf.sail.nativerdf.btree.BTree

            data = iter.next();
          }
          iter.close();

          for (TripleIndex index : indexes) {
            BTree btree = index.getBTree();

            RecordIterator recIter = recordCache.getRecords();
            try {
              while ((data = recIter.next()) != null) {
                btree.remove(data);
              }
            }
            finally {
              recIter.close();
            }
    View Full Code Here

    Examples of org.openrdf.sail.nativerdf.btree.BTree

        }

        boolean validCache = updatedTriplesCache.isValid();

        for (TripleIndex index : indexes) {
          BTree btree = index.getBTree();

          RecordIterator iter;
          if (validCache) {
            // Use the cached set of updated triples
            iter = updatedTriplesCache.getRecords();
          }
          else {
            // Cache is invalid; too much updates(?). Iterate over all triples
            iter = btree.iterateAll();
          }

          try {
            byte[] data = null;
            while ((data = iter.next()) != null) {
              byte flags = data[FLAG_IDX];
              boolean added = (flags & ADDED_FLAG) != 0;
              boolean removed = (flags & REMOVED_FLAG) != 0;
              boolean toggled = (flags & TOGGLE_EXPLICIT_FLAG) != 0;

              if (removed) {
                // Record has been discarded earlier, do not put it back in!
                continue;
              }

              if (added || toggled) {
                if (toggled) {
                  data[FLAG_IDX] ^= EXPLICIT_FLAG;
                }
                if (added) {
                  data[FLAG_IDX] ^= ADDED_FLAG;
                }

                if (validCache) {
                  // We're iterating the cache
                  btree.insert(data);
                }
                else {
                  // We're iterating the BTree itself
                  iter.set(data);
                }
    View Full Code Here

    Examples of org.openrdf.sail.nativerdf.btree.BTree

        boolean validCache = updatedTriplesCache.isValid();

        byte txnFlagsMask = ~(ADDED_FLAG | REMOVED_FLAG | TOGGLE_EXPLICIT_FLAG);

        for (TripleIndex index : indexes) {
          BTree btree = index.getBTree();

          RecordIterator iter;
          if (validCache) {
            // Use the cached set of updated triples
            iter = updatedTriplesCache.getRecords();
          }
          else {
            // Cache is invalid; too much updates(?). Iterate over all triples
            iter = btree.iterateAll();
          }

          try {
            byte[] data = null;
            while ((data = iter.next()) != null) {
              byte flags = data[FLAG_IDX];
              boolean removed = (flags & REMOVED_FLAG) != 0;
              boolean toggled = (flags & TOGGLE_EXPLICIT_FLAG) != 0;

              if (removed || toggled) {
                data[FLAG_IDX] &= txnFlagsMask;

                if (validCache) {
                  // We're iterating the cache
                  btree.insert(data);
                }
                else {
                  // We're iterating the BTree itself
                  iter.set(data);
                }
    View Full Code Here

    Examples of org.openrdf.sail.nativerdf.btree.BTree

        public TripleIndex(String fieldSeq)
          throws IOException
        {
          tripleComparator = new TripleComparator(fieldSeq);
          btree = new BTree(dir, getFilenamePrefix(fieldSeq), 2048, RECORD_LENGTH, tripleComparator, forceSync);
        }
    View Full Code Here

    Examples of org.openrdf.sail.nativerdf.btree.BTree

      public SortedRecordCache(File cacheDir, int recordSize, long maxRecords, RecordComparator comparator)
        throws IOException
      {
        super(maxRecords);
        btree = new BTree(cacheDir, "txncache", 4096, recordSize, comparator);
      }
    View Full Code Here

    Examples of uk.ac.open.kmi.smartproducts.sesame.sail.btree.BTree

      public SortedRecordCache(File cacheDir, int recordSize, long maxRecords, RecordComparator comparator)
        throws IOException
      {
        super(maxRecords);
        btree = new BTree(cacheDir, "txncache", 4096, recordSize, comparator);
      }
    View Full Code Here

    Examples of uk.ac.open.kmi.smartproducts.sesame.sail.btree.BTree

          for (String fieldSeq : addedIndexSpecs) {
            logger.debug("Initializing new index '{}'...", fieldSeq);

            TripleIndex addedIndex = new TripleIndex(fieldSeq);
            BTree addedBTree = addedIndex.getBTree();

            RecordIterator sourceIter = sourceIndex.getBTree().iterateAll();
            try {
              byte[] value = null;
              while ((value = sourceIter.next()) != null) {
                addedBTree.insert(value);
              }
            }
            finally {
              sourceIter.close();
            }
    View Full Code Here

    Examples of uk.ac.open.kmi.smartproducts.sesame.sail.btree.BTree

      protected double cardinality(int subj, int pred, int obj, int context)
        throws IOException
      {
        TripleIndex index = getBestIndex(subj, pred, obj, context);
        BTree btree = index.btree;

        double rangeSize;

        if (index.getPatternScore(subj, pred, obj, context) == 0) {
          rangeSize = btree.getValueCountEstimate();
        }
        else {
          byte[] minValue = getMinValue(subj, pred, obj, context);
          byte[] maxValue = getMaxValue(subj, pred, obj, context);
          rangeSize = btree.getValueCountEstimate(minValue, maxValue);
        }

        return rangeSize;
      }
    View Full Code Here

    Examples of uk.ac.open.kmi.smartproducts.sesame.sail.btree.BTree

          count = (int)removedTriplesCache.getRecordCount();
          updatedTriplesCache.storeRecords(removedTriplesCache);

          // Set the REMOVED flag by overwriting the affected records
          for (TripleIndex index : indexes) {
            BTree btree = index.getBTree();

            RecordIterator recIter = removedTriplesCache.getRecords();
            try {
              while ((data = recIter.next()) != null) {
                btree.insert(data);
              }
            }
            finally {
              recIter.close();
            }
    View Full Code Here

    Examples of uk.ac.open.kmi.smartproducts.sesame.sail.btree.BTree

        // updatedTriplesCache will be null when recovering from a crashed commit
        boolean validCache = updatedTriplesCache != null && updatedTriplesCache.isValid();

        for (TripleIndex index : indexes) {
          BTree btree = index.getBTree();

          RecordIterator iter;
          if (validCache) {
            // Use the cached set of updated triples
            iter = updatedTriplesCache.getRecords();
          }
          else {
            // Cache is invalid; too much updates(?). Iterate over all triples
            iter = btree.iterateAll();
          }

          try {
            byte[] data;
            while ((data = iter.next()) != null) {
              byte flags = data[FLAG_IDX];
              boolean wasAdded = (flags & ADDED_FLAG) != 0;
              boolean wasRemoved = (flags & REMOVED_FLAG) != 0;
              boolean wasToggled = (flags & TOGGLE_EXPLICIT_FLAG) != 0;

              if (wasRemoved) {
                btree.remove(data);
              }
              else if (wasAdded || wasToggled) {
                if (wasToggled) {
                  data[FLAG_IDX] ^= EXPLICIT_FLAG;
                }
                if (wasAdded) {
                  data[FLAG_IDX] ^= ADDED_FLAG;
                }

                if (validCache) {
                  // We're iterating the cache
                  btree.insert(data);
                }
                else {
                  // We're iterating the BTree itself
                  iter.set(data);
                }
    View Full Code Here
    TOP
    Copyright © 2018 www.massapi.com. All rights reserved.
    All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.