/*
* Copyright (c) 2008, Jan Stender, Bjoern Kolbeck, Mikael Hoegqvist,
* Felix Hupfeld, Zuse Institute Berlin
*
* Licensed under the BSD License, see LICENSE file for details.
*
*/
package de.mxro.thrd.babudb05.index.overlay;
import de.mxro.thrd.babudb05.api.database.ResultSet;
import de.mxro.thrd.babudb05.api.index.ByteRangeComparator;
public class MultiOverlayBufferTree extends MultiOverlayTree<byte[], byte[]> {
private ByteRangeComparator comp;
public MultiOverlayBufferTree(byte[] markerElement, ByteRangeComparator comp) {
super(markerElement, comp);
this.comp = comp;
}
public ResultSet<byte[], byte[]> prefixLookup(byte[] prefix, boolean includeDeletedEntries,
boolean ascending) {
byte[][] keyRange = comp.prefixToRange(prefix, ascending);
assert (keyRange.length == 2);
return rangeLookup(keyRange[0], keyRange[1], includeDeletedEntries, ascending);
}
public ResultSet<byte[], byte[]> prefixLookup(byte[] prefix, int overlayId,
boolean includeDeletedEntries, boolean ascending) {
byte[][] keyRange = comp.prefixToRange(prefix, ascending);
assert (keyRange.length == 2);
return rangeLookup(keyRange[0], keyRange[1], overlayId, includeDeletedEntries, ascending);
}
}