minor fixes for demo
git-svn-id: https://hyracks.googlecode.com/svn/trunk@122 123451ca-8445-de46-9d55-352943316053
diff --git a/hyracks/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/dataflow/BTreeOpHelper.java b/hyracks/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/dataflow/BTreeOpHelper.java
index 8ddcf08..08f9e1e 100644
--- a/hyracks/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/dataflow/BTreeOpHelper.java
+++ b/hyracks/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/dataflow/BTreeOpHelper.java
@@ -60,8 +60,14 @@
IBufferCache bufferCache = opDesc.getBufferCacheProvider().getBufferCache();
FileManager fileManager = opDesc.getBufferCacheProvider().getFileManager();
-
- File f = new File(opDesc.getBtreeFileName());
+
+ // hack for testing
+ //String s = bufferCache.toString();
+ //String[] splits = s.split("\\.");
+ //System.out.println(splits[splits.length-1]);
+ //File f = new File("/tmp/" + splits[splits.length-1]);
+
+ File f = new File(opDesc.getBtreeFileName());
RandomAccessFile raf = new RandomAccessFile(f, "rw");
if (!f.exists() && !createBTree) {
diff --git a/hyracks/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/dataflow/BTreeSearchOperatorNodePushable.java b/hyracks/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/dataflow/BTreeSearchOperatorNodePushable.java
index 826c7ec..cdc6a73 100644
--- a/hyracks/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/dataflow/BTreeSearchOperatorNodePushable.java
+++ b/hyracks/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/dataflow/BTreeSearchOperatorNodePushable.java
@@ -59,7 +59,7 @@
BTree btree = null;
try {
btreeOpHelper.init();
- btreeOpHelper.fill();
+ //btreeOpHelper.fill();
btree = btreeOpHelper.getBTree();
IBTreeLeafFrame leafFrame = btreeOpHelper.getLeafFrame();
diff --git a/hyracks/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/impls/BTree.java b/hyracks/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/impls/BTree.java
index b170d08..1c346c6 100644
--- a/hyracks/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/impls/BTree.java
+++ b/hyracks/hyracks-storage-am-btree/src/main/java/edu/uci/ics/hyracks/storage/am/btree/impls/BTree.java
@@ -44,8 +44,9 @@
// maxPage
private final int rootPage = 1; // the root page never changes
- private boolean created = false;
-
+ private boolean created = false;
+ private boolean loaded = false;
+
private final IBufferCache bufferCache;
private int fileId;
private final IBTreeInteriorFrameFactory interiorFrameFactory;
@@ -1289,7 +1290,10 @@
// assumes btree has been created and opened
public BulkLoadContext beginBulkLoad(float fillFactor, IBTreeLeafFrame leafFrame, IBTreeInteriorFrame interiorFrame, IBTreeMetaDataFrame metaFrame) throws Exception {
- BulkLoadContext ctx = new BulkLoadContext(fillFactor, leafFrame, interiorFrame, metaFrame);
+
+ if(loaded) throw new BTreeException("Trying to bulk-load BTree but has BTree already been loaded.");
+
+ BulkLoadContext ctx = new BulkLoadContext(fillFactor, leafFrame, interiorFrame, metaFrame);
ctx.nodeFrontiers.get(0).lastTuple.setFieldCount(cmp.getFieldCount());
ctx.splitKey.getTuple().setFieldCount(cmp.getKeyFieldCount());
return ctx;
@@ -1354,6 +1358,8 @@
}
// debug
currentLevel = (byte) ctx.nodeFrontiers.size();
+
+ loaded = true;
}
public IBTreeInteriorFrameFactory getInteriorFrameFactory() {