@Override public JobDataFragment truncate(int maxRows) { loadIfNecessary(); synchronized (dataObjectsToRelease) { checkNotClosed(); final JobDataFragmentImpl dataFragment = new JobDataFragmentImpl(dataLoader.load(0, maxRows), 0, jobId); dataObjectsToRelease.add(dataFragment); return dataFragment; } }
@Override public synchronized void close() { List<AutoCloseable> closeables = new ArrayList<>(); closeables.add(() -> super.close()); List<AutoCloseable> backList = new ArrayList<>(); backList.addAll(closeable.getCloseables()); Collections.reverse(backList); closeables.addAll(backList); AutoCloseables.closeNoChecked(AutoCloseables.all(closeables)); } }
@Override public Object extractValue(String column, int index){ Pair<RecordBatchData, Integer> dataBatch = find(index); Integer columnIndex = nameToColumnIndex.get(column); return dataBatch.getKey().getVectors().get(columnIndex).getObject(dataBatch.getValue()); }
public JobDataFragmentImpl(final RecordBatches recordBatches, final int offsetInJobResults, final JobId jobId) { this.recordBatches = recordBatches; this.jobId = jobId; this.nameToColumnIndex = getColumnIndicesFromSchema(recordBatches.getSchema()); }
@Override public JobDataFragment range(int offset, int limit) { loadIfNecessary(); synchronized (dataObjectsToRelease) { checkNotClosed(); final JobDataFragmentImpl dataFragment = new JobDataFragmentImpl(dataLoader.load(offset, limit), offset, jobId); dataObjectsToRelease.add(dataFragment); return dataFragment; } }
private static com.dremio.dac.model.job.JobDataFragment createDataObject(ValueVector... vv) { RecordBatchData batch = createRecordBatch(vv); return new JobDataFragmentWrapper(0, new JobDataFragmentImpl( new RecordBatches(asList(newRecordBatchHolder(batch, 0, batch.getRecordCount()))), 0, TEST_JOB_ID)); }
recordBatches.add(newRecordBatchHolder(data3, 0, data3.getRecordCount())); try (JobDataFragment jdf = new JobDataFragmentWrapper(0, new JobDataFragmentImpl(new RecordBatches(recordBatches), 0, TEST_JOB_ID))) {