private static void readPKValueIntoByteArray(ITupleReference pkValue, int pkSize, byte[] byteArrayPKValue) { int readOffset = pkValue.getFieldStart(0); byte[] readBuffer = pkValue.getFieldData(0); for (int i = 0; i < pkSize; i++) { byteArrayPKValue[i] = readBuffer[readOffset + i]; } }
private static boolean isEqual(byte[] a, ITupleReference b, int size) { int readOffset = b.getFieldStart(0); byte[] readBuffer = b.getFieldData(0); for (int i = 0; i < size; i++) { if (a[i] != readBuffer[readOffset + i]) { return false; } } return true; }
@Override public int writeTuple(ITupleReference tuple, byte[] targetBuf, int targetOff) { int tupleSize = bytesRequired(tuple); byte[] buf = tuple.getFieldData(0); int tupleStartOff = ((LSMRTreeTupleReference) tuple).getTupleStart(); System.arraycopy(buf, tupleStartOff, targetBuf, targetOff, tupleSize); return tupleSize; } }
private void appendPreviousMeta() throws IOException { // if has meta, then append meta if (hasMeta) { dos.write(prevTuple.getFieldData(metaFieldIndex), prevTuple.getFieldStart(metaFieldIndex), prevTuple.getFieldLength(metaFieldIndex)); tb.addFieldEndOffset(); } }
@Override public Feed getMetadataEntityFromTuple(ITupleReference frameTuple) throws HyracksDataException { byte[] serRecord = frameTuple.getFieldData(FEED_PAYLOAD_TUPLE_FIELD_INDEX); int recordStartOffset = frameTuple.getFieldStart(FEED_PAYLOAD_TUPLE_FIELD_INDEX); int recordLength = frameTuple.getFieldLength(FEED_PAYLOAD_TUPLE_FIELD_INDEX); ByteArrayInputStream stream = new ByteArrayInputStream(serRecord, recordStartOffset, recordLength); DataInput in = new DataInputStream(stream); ARecord feedRecord = recordSerDes.deserialize(in); return createFeedFromARecord(feedRecord); }
public int fieldRangeCompare(ITupleReference tupleA, ITupleReference tupleB, int startFieldIndex, int numFields) throws HyracksDataException { for (int i = startFieldIndex; i < startFieldIndex + numFields; i++) { int cmp = cmps[i].compare(tupleA.getFieldData(i), tupleA.getFieldStart(i), tupleA.getFieldLength(i), tupleB.getFieldData(i), tupleB.getFieldStart(i), tupleB.getFieldLength(i)); if (cmp != 0) { return cmp; } } return 0; }
@Override public CompactionPolicy getMetadataEntityFromTuple(ITupleReference tuple) throws HyracksDataException { byte[] serRecord = tuple.getFieldData(COMPACTION_POLICY_PAYLOAD_TUPLE_FIELD_INDEX); int recordStartOffset = tuple.getFieldStart(COMPACTION_POLICY_PAYLOAD_TUPLE_FIELD_INDEX); int recordLength = tuple.getFieldLength(COMPACTION_POLICY_PAYLOAD_TUPLE_FIELD_INDEX); ByteArrayInputStream stream = new ByteArrayInputStream(serRecord, recordStartOffset, recordLength); DataInput in = new DataInputStream(stream); ARecord compactionPolicyRecord = recordSerDes.deserialize(in); return createCompactionPolicyFromARecord(compactionPolicyRecord); }
@Override public Library getMetadataEntityFromTuple(ITupleReference frameTuple) throws HyracksDataException { byte[] serRecord = frameTuple.getFieldData(LIBRARY_PAYLOAD_TUPLE_FIELD_INDEX); int recordStartOffset = frameTuple.getFieldStart(LIBRARY_PAYLOAD_TUPLE_FIELD_INDEX); int recordLength = frameTuple.getFieldLength(LIBRARY_PAYLOAD_TUPLE_FIELD_INDEX); ByteArrayInputStream stream = new ByteArrayInputStream(serRecord, recordStartOffset, recordLength); DataInput in = new DataInputStream(stream); ARecord libraryRecord = recordSerDes.deserialize(in); return createLibraryFromARecord(libraryRecord); }
@Override public DatasourceAdapter getMetadataEntityFromTuple(ITupleReference tuple) throws AlgebricksException, HyracksDataException { byte[] serRecord = tuple.getFieldData(ADAPTER_PAYLOAD_TUPLE_FIELD_INDEX); int recordStartOffset = tuple.getFieldStart(ADAPTER_PAYLOAD_TUPLE_FIELD_INDEX); int recordLength = tuple.getFieldLength(ADAPTER_PAYLOAD_TUPLE_FIELD_INDEX); ByteArrayInputStream stream = new ByteArrayInputStream(serRecord, recordStartOffset, recordLength); DataInput in = new DataInputStream(stream); ARecord adapterRecord = recordSerDes.deserialize(in); return createAdapterFromARecord(adapterRecord); }
@Override public Function getMetadataEntityFromTuple(ITupleReference frameTuple) throws HyracksDataException { byte[] serRecord = frameTuple.getFieldData(FUNCTION_PAYLOAD_TUPLE_FIELD_INDEX); int recordStartOffset = frameTuple.getFieldStart(FUNCTION_PAYLOAD_TUPLE_FIELD_INDEX); int recordLength = frameTuple.getFieldLength(FUNCTION_PAYLOAD_TUPLE_FIELD_INDEX); ByteArrayInputStream stream = new ByteArrayInputStream(serRecord, recordStartOffset, recordLength); DataInput in = new DataInputStream(stream); ARecord functionRecord = recordSerDes.deserialize(in); return createFunctionFromARecord(functionRecord); }
public int selectiveFieldCompare(ITupleReference tupleA, ITupleReference tupleB, int[] fields) throws HyracksDataException { for (int j = 0; j < cmps.length; j++) { int i = fields[j]; int cmp = cmps[j].compare(tupleA.getFieldData(i), tupleA.getFieldStart(i), tupleA.getFieldLength(i), tupleB.getFieldData(i), tupleB.getFieldStart(i), tupleB.getFieldLength(i)); if (cmp != 0) { return cmp; } } return 0; }
@Override public FeedPolicyEntity getMetadataEntityFromTuple(ITupleReference frameTuple) throws HyracksDataException { byte[] serRecord = frameTuple.getFieldData(FEED_POLICY_PAYLOAD_TUPLE_FIELD_INDEX); int recordStartOffset = frameTuple.getFieldStart(FEED_POLICY_PAYLOAD_TUPLE_FIELD_INDEX); int recordLength = frameTuple.getFieldLength(FEED_POLICY_PAYLOAD_TUPLE_FIELD_INDEX); ByteArrayInputStream stream = new ByteArrayInputStream(serRecord, recordStartOffset, recordLength); DataInput in = new DataInputStream(stream); ARecord feedPolicyRecord = recordSerDes.deserialize(in); return createFeedPolicyFromARecord(feedPolicyRecord); }
@Override public int compare(ITupleReference tupleA, ITupleReference tupleB) throws HyracksDataException { return cmp.compare(tupleA.getFieldData(0), tupleA.getFieldStart(0), tupleA.getFieldLength(0), tupleB.getFieldData(0), tupleB.getFieldStart(0), tupleB.getFieldLength(0)); } }
protected int pointerCmp(ITupleReference tupleA, ITupleReference tupleB, MultiComparator cmp) throws HyracksDataException { return childPtrCmp.compare(tupleA.getFieldData(cmp.getKeyFieldCount() - 1), getChildPointerOff(tupleA), childPtrSize, tupleB.getFieldData(cmp.getKeyFieldCount() - 1), getChildPointerOff(tupleB), childPtrSize); }
@Override public Dataset getMetadataEntityFromTuple(ITupleReference frameTuple) throws HyracksDataException { byte[] serRecord = frameTuple.getFieldData(DATASET_PAYLOAD_TUPLE_FIELD_INDEX); int recordStartOffset = frameTuple.getFieldStart(DATASET_PAYLOAD_TUPLE_FIELD_INDEX); int recordLength = frameTuple.getFieldLength(DATASET_PAYLOAD_TUPLE_FIELD_INDEX); ByteArrayInputStream stream = new ByteArrayInputStream(serRecord, recordStartOffset, recordLength); DataInput in = new DataInputStream(stream); ARecord datasetRecord = recordSerDes.deserialize(in); return createDatasetFromARecord(datasetRecord); }
public void reset(ITupleReference inputTuple) { this.inputTuple = inputTuple; tokenizer.reset(inputTuple.getFieldData(DOC_FIELD_INDEX), inputTuple.getFieldStart(DOC_FIELD_INDEX), inputTuple.getFieldLength(DOC_FIELD_INDEX)); }
public static void copyTuple(ArrayTupleBuilder tupleBuilder, ITupleReference tuple, int numFields) throws HyracksDataException { tupleBuilder.reset(); for (int i = 0; i < numFields; i++) { tupleBuilder.addField(tuple.getFieldData(i), tuple.getFieldStart(i), tuple.getFieldLength(i)); } }
@Override public Dataverse getMetadataEntityFromTuple(ITupleReference frameTuple) throws HyracksDataException { byte[] serRecord = frameTuple.getFieldData(DATAVERSE_PAYLOAD_TUPLE_FIELD_INDEX); int recordStartOffset = frameTuple.getFieldStart(DATAVERSE_PAYLOAD_TUPLE_FIELD_INDEX); int recordLength = frameTuple.getFieldLength(DATAVERSE_PAYLOAD_TUPLE_FIELD_INDEX); ByteArrayInputStream stream = new ByteArrayInputStream(serRecord, recordStartOffset, recordLength); DataInput in = new DataInputStream(stream); ARecord dataverseRecord = recordSerDes.deserialize(in); return new Dataverse(((AString) dataverseRecord.getValueByPos(0)).getStringValue(), ((AString) dataverseRecord.getValueByPos(1)).getStringValue(), ((AInt32) dataverseRecord.getValueByPos(3)).getIntegerValue()); }
protected void saveLastTuple(ITupleReference tuple) throws HyracksDataException { lastTupleBuilder.reset(); for (int i = 0; i < tuple.getFieldCount(); i++) { lastTupleBuilder.addField(tuple.getFieldData(i), tuple.getFieldStart(i), tuple.getFieldLength(i)); } lastTuple.reset(lastTupleBuilder.getFieldEndOffsets(), lastTupleBuilder.getByteArray()); }
public static ITupleReference copyTuple(ITupleReference tuple) throws HyracksDataException { ArrayTupleBuilder tupleBuilder = new ArrayTupleBuilder(tuple.getFieldCount()); for (int i = 0; i < tuple.getFieldCount(); i++) { tupleBuilder.addField(tuple.getFieldData(i), tuple.getFieldStart(i), tuple.getFieldLength(i)); } ArrayTupleReference tupleCopy = new ArrayTupleReference(); tupleCopy.reset(tupleBuilder.getFieldEndOffsets(), tupleBuilder.getByteArray()); return tupleCopy; }