Removed MultiComparator from compress API call in ITreeIndexFrame.
git-svn-id: https://hyracks.googlecode.com/svn/branches/hyracks_btree_updates_next@623 123451ca-8445-de46-9d55-352943316053
diff --git a/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/frames/BTreeFieldPrefixNSMLeafFrame.java b/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/frames/BTreeFieldPrefixNSMLeafFrame.java
index b8115b3..3044e48 100644
--- a/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/frames/BTreeFieldPrefixNSMLeafFrame.java
+++ b/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/frames/BTreeFieldPrefixNSMLeafFrame.java
@@ -68,14 +68,13 @@
protected ICachedPage page = null;
protected ByteBuffer buf = null;
- private final int fieldCount;
-
public ITreeIndexFrameCompressor compressor;
// TODO: Should be protected, but will trigger some refactoring.
public IPrefixSlotManager slotManager;
private ITreeIndexTupleWriter tupleWriter;
-
+ private MultiComparator cmp;
+
private FieldPrefixTupleReference frameTuple;
private FieldPrefixPrefixTupleReference framePrefixTuple;
@@ -83,9 +82,9 @@
this.tupleWriter = tupleWriter;
this.frameTuple = new FieldPrefixTupleReference(tupleWriter.createTupleReference());
ITypeTrait[] typeTraits = ((TypeAwareTupleWriter) tupleWriter).getTypeTraits();
- this.fieldCount = typeTraits.length;
this.framePrefixTuple = new FieldPrefixPrefixTupleReference(typeTraits);
this.slotManager = new FieldPrefixSlotManager(cmp);
+ this.cmp = cmp;
this.compressor = new FieldPrefixCompressor(typeTraits, 0.001f, 2);
}
@@ -107,7 +106,7 @@
}
@Override
- public boolean compress(MultiComparator cmp) throws HyracksDataException {
+ public boolean compress() throws HyracksDataException {
try {
return compressor.compress(this, cmp);
} catch (Exception e) {
diff --git a/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/impls/BTree.java b/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/impls/BTree.java
index faa7373..30149ab 100644
--- a/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/impls/BTree.java
+++ b/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/impls/BTree.java
@@ -330,7 +330,7 @@
}
case INSUFFICIENT_SPACE: {
// Try compressing the page first and see if there is space available.
- boolean reCompressed = ctx.leafFrame.compress(cmp);
+ boolean reCompressed = ctx.leafFrame.compress();
if (reCompressed) {
// Compression could have changed the target tuple index, find it again.
targetTupleIndex = ctx.leafFrame.findInsertTupleIndex(tuple, cmp);
@@ -445,7 +445,7 @@
case INSUFFICIENT_SPACE: {
// Delete the old tuple, and try compressing the page to make space available.
ctx.leafFrame.delete(tuple, oldTupleIndex);
- ctx.leafFrame.compress(cmp);
+ ctx.leafFrame.compress();
// We need to insert the new tuple, so check if there is space.
spaceStatus = ctx.leafFrame.hasSpaceInsert(tuple);
if (spaceStatus == FrameOpSpaceStatus.SUFFICIENT_CONTIGUOUS_SPACE) {
@@ -947,7 +947,7 @@
// try to free space by compression
if (spaceUsed + spaceNeeded > ctx.leafMaxBytes) {
- leafFrame.compress(cmp);
+ leafFrame.compress();
spaceUsed = leafFrame.getBuffer().capacity() - leafFrame.getTotalFreeSpace();
}
diff --git a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/api/ITreeIndexFrame.java b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/api/ITreeIndexFrame.java
index dda2f59..fc247d7 100644
--- a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/api/ITreeIndexFrame.java
+++ b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/api/ITreeIndexFrame.java
@@ -39,7 +39,7 @@
// returns true if slots were modified, false otherwise
public boolean compact();
- public boolean compress(MultiComparator cmp) throws HyracksDataException;
+ public boolean compress() throws HyracksDataException;
public void initBuffer(byte level);
diff --git a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/frames/TreeIndexNSMFrame.java b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/frames/TreeIndexNSMFrame.java
index 82d622c..574456e 100644
--- a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/frames/TreeIndexNSMFrame.java
+++ b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/frames/TreeIndexNSMFrame.java
@@ -291,7 +291,7 @@
}
@Override
- public boolean compress(MultiComparator cmp) {
+ public boolean compress() {
return false;
}
diff --git a/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/edu/uci/ics/hyracks/storage/am/btree/BTreeFieldPrefixNSMTest.java b/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/edu/uci/ics/hyracks/storage/am/btree/BTreeFieldPrefixNSMTest.java
index 14e85e9..73b25c1 100644
--- a/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/edu/uci/ics/hyracks/storage/am/btree/BTreeFieldPrefixNSMTest.java
+++ b/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/edu/uci/ics/hyracks/storage/am/btree/BTreeFieldPrefixNSMTest.java
@@ -163,7 +163,7 @@
if (rnd.nextInt() % compressFreq == 0) {
before = frame.printKeys(cmp, sers);
- frame.compress(cmp);
+ frame.compress();
after = frame.printKeys(cmp, sers);
Assert.assertEquals(before, after);
}
@@ -192,7 +192,7 @@
if (rnd.nextInt() % compressFreq == 0) {
before = frame.printKeys(cmp, sers);
- frame.compress(cmp);
+ frame.compress();
after = frame.printKeys(cmp, sers);
Assert.assertEquals(before, after);
}