@Override public JobDataFragment truncate(int maxRows) { return delegate.truncate(maxRows); }
@Override public String getJobResultsTable() { return delegate.getJobResultsTable(); }
@Override public void loadIfNecessary() { delegate.loadIfNecessary(); } }
@Override public JobUI answer(InvocationOnMock invocation) throws Throwable { String query = invocation.getArgumentAt(0, SqlQuery.class).getSql(); Job job = mock(Job.class); JobData jobData = mock(JobData.class); when(job.getData()).thenReturn(jobData); if ("SELECT * FROM dataset".equals(query)) { when(jobData.getJobResultsTable()).thenReturn("jobResults.previewJob"); } else if (query.contains("jobResults.previewJob")) { if (expFilter != null) { assertTrue(query, query.contains(expFilter)); } else { assertFalse(query, query.contains("WHERE")); } JobDataFragment fragment = mock(JobDataFragment.class); when(jobData.truncate(1)).thenReturn(fragment); when(fragment.getSchema()).thenReturn( BatchSchema.newBuilder() .addField(new Field("dremio_selection_count", true, new ArrowType.Int(64, true), null)) .build() ); when(fragment.extractValue("dremio_selection_count", 0)).thenReturn(expCount); } return new JobUI(job); } }
.setDatasetVersion(new DatasetVersion("1")) .build(), NoOpJobStatusListener.INSTANCE); job1_0.getData().loadIfNecessary(); JobDataFragment result = job1_0.getData().truncate(10); JobDataFragment storedResult = jobsService.getJob(job1_0.getJobId()).getData().truncate(10); for (Field column: result.getSchema()) { assertTrue(storedResult.getSchema().getFields().contains(column));
@Override public JobDataFragment range(int offset, int limit) { return delegate.range(offset, limit); }
@Override public void close() throws Exception { delegate.close(); }
@Override public JobId getJobId() { return delegate.getJobId(); }
@Override public void loadIfNecessary() { delegate.loadIfNecessary(); }
@Override public JobDataFragment range(int offset, int limit) { return new JobDataFragmentWrapper(offset, delegate.range(offset, limit)); }
@Override public void close() throws Exception { delegate.close(); }
@Override public JobId getJobId() { return delegate.getJobId(); }
@Test public void testDownloadJsonRest() throws Exception { final String downloadPath = new DatasetVersionResourcePath(new DatasetPath("DG.dsg1"), dsg1.getVersion()).toString(); InitialDownloadResponse initialDownloadResponse = expectSuccess( getBuilder(getAPIv2().path(downloadPath).path("download").queryParam("downloadFormat", DownloadFormat.JSON)).buildGet(), InitialDownloadResponse.class); // wait for job final Job job = l(JobsService.class).getJob(initialDownloadResponse.getJobId()); job.getData().loadIfNecessary(); // get job data Response response = getBuilder(getAPIv2().path(initialDownloadResponse.getDownloadUrl())).buildGet().invoke(); validateAllRows(readDataJson((InputStream)response.getEntity())); }
@Override public JobDataFragment truncate(int maxRows) { return new JobDataFragmentWrapper(0, delegate.truncate(maxRows)); }
public JobData(Job job, int offset, int limit) { this.delegate = job.getData().range(offset, limit); this.job = job; }
RelNode newLogicalPlan = logicalPlan.get().accept(new MaterializationShuttle(IncrementalUpdateUtils.UPDATE_COLUMN, currentTime)); assertNotNull(newLogicalPlan.getRowType().getField(IncrementalUpdateUtils.UPDATE_COLUMN, false, false)); job.getData().close();
@Override public String getJobResultsTable() { return delegate.getJobResultsTable(); }
@Test public void testDownloadCsvRest() throws Exception { final String downloadPath = new DatasetVersionResourcePath(new DatasetPath("DG.dsg1"), dsg1.getVersion()).toString(); InitialDownloadResponse initialDownloadResponse = expectSuccess( getBuilder(getAPIv2().path(downloadPath).path("download").queryParam("downloadFormat", DownloadFormat.CSV)).buildGet(), InitialDownloadResponse.class); // wait for job final Job job = l(JobsService.class).getJob(initialDownloadResponse.getJobId()); job.getData().loadIfNecessary(); // get job data Response response = getBuilder(getAPIv2().path(initialDownloadResponse.getDownloadUrl())).buildGet().invoke(); validateAllRows(readDataCsv((InputStream)response.getEntity())); }
final JobDataFragment data = job.getData().truncate(1);