@Override public String toString() { return "{originalTxn: " + transactionId + ", bucket: " + bucketId + ", row: " + getRowId() + "}"; } }
@Override public String toString() { return "RecordIdentifier(" + writeId + ", " + bucketToString(bucketId) + "," + getRowId() +")"; } public static String bucketToString(int bucketId) {
boolean isInSequence(RecordIdentifier recordIdentifier) { if (lastWriteId != null && recordIdentifier.getWriteId() < lastWriteId) { LOG.debug("Non-sequential write ID. Expected >{}, recordIdentifier={}", lastWriteId, recordIdentifier); return false; } else if (lastWriteId != null && recordIdentifier.getWriteId() == lastWriteId && lastRowId != null && recordIdentifier.getRowId() <= lastRowId) { LOG.debug("Non-sequential row ID. Expected >{}, recordIdentifier={}", lastRowId, recordIdentifier); return false; } lastWriteId = recordIdentifier.getWriteId(); lastRowId = recordIdentifier.getRowId(); return true; }
private int compareTo(RecordIdentifier other) { if (other == null) { return -1; } otherKey.set(other.getWriteId(), other.getBucketProperty(), other.getRowId()); return compareTo(otherKey); } @Override
/** * Copies relevant fields from {@code ri} to {@code struct} * @param ri * @param struct must be of size Field.values().size() */ public static void toArray(RecordIdentifier ri, Object[] struct) { assert struct != null && struct.length == Field.values().length; if(ri == null) { Arrays.fill(struct, null); return; } struct[Field.writeId.ordinal()] = ri.getWriteId(); struct[Field.bucketId.ordinal()] = ri.getBucketProperty(); struct[Field.rowId.ordinal()] = ri.getRowId(); } }
/** * Copies relevant fields from {@code ri} to {@code struct} * @param ri * @param struct must be of size Field.values().size() */ public static void toArray(RecordIdentifier ri, Object[] struct) { assert struct != null && struct.length == Field.values().length; if(ri == null) { Arrays.fill(struct, null); return; } struct[Field.transactionId.ordinal()] = ri.getTransactionId(); struct[Field.bucketId.ordinal()] = ri.getBucketId(); struct[Field.rowId.ordinal()] = ri.getRowId(); } }
RecordIdentifier recordIdentifier = recordReader.getRecordIdentifier(); Record record = new Record(new RecordIdentifier(recordIdentifier.getWriteId(), recordIdentifier.getBucketProperty(), recordIdentifier.getRowId()), value.toString()); System.out.println(record); records.add(record);
minKey.setRowId(minKey.getRowId() + 1);
OrcStruct struct = reader.createValue(); while (reader.next(id, struct)) { assertEquals("id " + record, record, id.getRowId()); assertEquals("bucket " + record, 0, id.getBucketProperty()); assertEquals("writeid " + record, 1, id.getWriteId()); struct = reader.createValue(); while (reader.next(id, struct)) { assertEquals("id " + record, record, id.getRowId()); assertEquals("bucket " + record, 0, id.getBucketProperty()); assertEquals("writeid " + record, 1, id.getWriteId());
assertEquals(10, id.getWriteId()); assertEquals(20, id.getBucketProperty()); assertEquals(40, id.getRowId()); assertEquals("third", getValue(event)); assertEquals(40, id.getWriteId()); assertEquals(50, id.getBucketProperty()); assertEquals(60, id.getRowId()); assertEquals("fourth", getValue(event));
@Override public String toString() { return "{originalTxn: " + transactionId + ", bucket: " + bucketId + ", row: " + getRowId() + "}"; } }
/** * Copies relevant fields from {@code ri} to {@code struct} * @param ri * @param struct must be of size Field.values().size() */ public static void toArray(RecordIdentifier ri, Object[] struct) { assert struct != null && struct.length == Field.values().length; if(ri == null) { Arrays.fill(struct, null); return; } struct[Field.transactionId.ordinal()] = ri.getTransactionId(); struct[Field.bucketId.ordinal()] = ri.getBucketId(); struct[Field.rowId.ordinal()] = ri.getRowId(); } }