@Test public void testCreatesRecordReader() throws IOException { verify(mockOutputFormat).getRecordUpdater(eq(PATH), captureOptions.capture()); Options options = captureOptions.getValue(); assertThat(options.getBucketId(), is(BUCKET_ID)); assertThat(options.getConfiguration(), is((Configuration) configuration)); assertThat(options.getInspector(), is(mockObjectInspector)); assertThat(options.getRecordIdColumn(), is(RECORD_ID_COLUMN)); assertThat(options.getMinimumWriteId(), is(WRITE_ID)); assertThat(options.getMaximumWriteId(), is(WRITE_ID)); }
.maximumWriteId(1).finalDestination(root); Path delta1_1_0 = new Path(root, AcidUtils.deltaSubdir( options.getMinimumWriteId(), options.getMaximumWriteId(), options.getStatementId())); Path bucket0 = AcidUtils.createBucketFile(delta1_1_0, BUCKET); Path bucket0SideFile = OrcAcidUtils.getSideFile(bucket0);
deleteDeltaSubdir(options.getMinimumWriteId(), options.getMaximumWriteId()) : deltaSubdir(options.getMinimumWriteId(), options.getMaximumWriteId()); } else { subdir = options.isWritingDeleteDelta() ? deleteDeltaSubdir(options.getMinimumWriteId(), options.getMaximumWriteId(), options.getStatementId()) : deltaSubdir(options.getMinimumWriteId(), options.getMaximumWriteId(), options.getStatementId());
public static String getOptionsValue(Options options) { StringBuilder content = new StringBuilder(); int bucket = getBucket(options); String inspectorInfo = options.getInspector().getCategory() + ":" + options.getInspector() .getTypeName(); long maxTxnId = options.getMaximumWriteId(); long minTxnId = options.getMinimumWriteId(); int recordIdColumn = options.getRecordIdColumn(); boolean isCompresses = options.isCompressed(); boolean isWritingBase = options.isWritingBase(); content.append("bucket : ").append(bucket).append(", inspectorInfo : ").append (inspectorInfo).append(", minTxnId : ").append(minTxnId).append(", maxTxnId : ") .append(maxTxnId).append(", recordIdColumn : ").append(recordIdColumn); content.append(", isCompressed : ").append(isCompresses).append(", isWritingBase : ") .append(isWritingBase); return content.toString(); }
updater.insert(options.getMinimumWriteId(), new DummyRow(1, 0, options.getMinimumWriteId(), bucket)); updater.insert(options.getMinimumWriteId(), new DummyRow(2, 1, options.getMinimumWriteId(), bucket)); updater.insert(options.getMinimumWriteId(), new DummyRow(3, 2, options.getMinimumWriteId(), bucket)); updater.close(false); .maximumWriteId(2); updater = new OrcRecordUpdater(root, options); updater.insert(options.getMinimumWriteId(), new DummyRow(4, 0, options.getMinimumWriteId(), bucket)); updater.insert(options.getMinimumWriteId(), new DummyRow(5, 1, options.getMinimumWriteId(), bucket)); updater.insert(options.getMinimumWriteId(), new DummyRow(6, 2, options.getMinimumWriteId(), bucket)); updater.close(false); .maximumWriteId(3); updater = new OrcRecordUpdater(root, options); updater.insert(options.getMinimumWriteId(), new DummyRow(7, 0, options.getMinimumWriteId(), bucket)); updater.insert(options.getMinimumWriteId(), new DummyRow(8, 1, options.getMinimumWriteId(), bucket)); updater.insert(options.getMinimumWriteId(), new DummyRow(9, 2, options.getMinimumWriteId(), bucket)); updater.close(false); .maximumWriteId(4);
if (options.getMinimumWriteId() != options.getMaximumWriteId() && !options.isWritingBase()) {
updater.delete(options.getMinimumWriteId(), new DummyRow(-1, 2, 0, bucket)); updater.delete(options.getMinimumWriteId(), new DummyRow(-1, 3, 0, bucket)); updater.delete(options.getMinimumWriteId(), new DummyRow(-1, 7, 0, bucket)); updater.close(false);
.maximumWriteId(10000004); updater = new OrcRecordUpdater(root, options); updater.delete(options.getMinimumWriteId(), new DummyRow(-1, 0, 0, bucket)); updater.delete(options.getMinimumWriteId(), new DummyRow(-1, 5, 10000003, bucket)); updater.close(false);
RecordUpdater ru = of.getRecordUpdater(mockPath, options); for (int i = 0; i < 10; ++i) { ru.insert(options.getMinimumWriteId(), new MyRow(i, 2 * i));
RecordUpdater ru = of.getRecordUpdater(mockPath, options); for (int i = 0; i < 10; ++i) { ru.insert(options.getMinimumWriteId(), new MyRow(i, 2 * i));
assertEquals(true, opts.isWritingBase()); assertEquals(567, opts.getMaximumWriteId()); assertEquals(0, opts.getMinimumWriteId()); assertEquals(123, opts.getBucketId()); opts = AcidUtils.parseBaseOrDeltaBucketFilename( assertEquals(false, opts.isWritingBase()); assertEquals(6, opts.getMaximumWriteId()); assertEquals(5, opts.getMinimumWriteId()); assertEquals(1, opts.getBucketId()); opts = AcidUtils.parseBaseOrDeltaBucketFilename( assertEquals(false, opts.isWritingBase()); assertEquals(6, opts.getMaximumWriteId()); assertEquals(5, opts.getMinimumWriteId()); assertEquals(1, opts.getBucketId()); opts = AcidUtils.parseBaseOrDeltaBucketFilename(new Path(dir, "000123_0"), conf); assertEquals(true, opts.isWritingBase()); assertEquals(123, opts.getBucketId()); assertEquals(0, opts.getMinimumWriteId()); assertEquals(0, opts.getMaximumWriteId());