public BTreeBulkLoader(float fillFactor, boolean verifyInput) throws HyracksDataException { super(fillFactor); this.verifyInput = verifyInput; splitKey = new BTreeSplitKey(leafFrame.getTupleWriter().createTupleReference()); splitKey.getTuple().setFieldCount(cmp.getKeyFieldCount()); }
splitKey.initData(splitKeySize); tupleWriter.writeTuple(frameTuple, splitKey.getBuffer(), 0); splitKey.getTuple().resetByTupleOffset(splitKey.getBuffer().array(), 0); targetTupleIndex = ((BTreeNSMInteriorFrame) targetFrame).findInsertTupleIndex(savedSplitKey.getTuple()); targetFrame.insert(savedSplitKey.getTuple(), targetTupleIndex);
splitKey.initData(splitKeySize); tupleWriter.writeTupleFields(frameTuple, 0, cmp.getKeyFieldCount(), splitKey.getBuffer().array(), 0); splitKey.getTuple().resetByTupleOffset(splitKey.getBuffer().array(), 0);
interiorFrame.setPage(frontier.page); ITupleReference tuple = splitKey.getTuple(); int tupleBytes = tupleWriter.bytesRequired(tuple, 0, cmp.getKeyFieldCount()); int spaceNeeded = tupleBytes + slotSize + 4; tuple = copyKey.getTuple(); tupleWriter.writeTupleFields(frontier.lastTuple, 0, cmp.getKeyFieldCount(), splitKey.getBuffer().array(), 0); splitKey.getTuple().resetByTupleOffset(splitKey.getBuffer().array(), 0);
splitKey.initData(splitKeySize); tupleWriter.writeTupleFields(frameTuple, 0, cmp.getKeyFieldCount(), splitKey.getBuffer().array(), 0); splitKey.getTuple().resetByTupleOffset(splitKey.getBuffer().array(), 0);
tupleWriter.writeTupleFields(leafFrontier.lastTuple, 0, cmp.getKeyFieldCount(), splitKey.getBuffer().array(), 0); splitKey.getTuple().resetByTupleOffset(splitKey.getBuffer().array(), 0); splitKey.setLeftPage(leafFrontier.pageId);