private static Page<Job> listJobs(final BigQueryOptions serviceOptions, final Map<BigQueryRpc.Option, ?> optionsMap) { BigQueryRpc.Tuple<String, Iterable<com.google.api.services.bigquery.model.Job>> result = runWithRetries(new Callable<BigQueryRpc.Tuple<String, Iterable<com.google.api.services.bigquery.model.Job>>>() { @Override public BigQueryRpc.Tuple<String, Iterable<com.google.api.services.bigquery.model.Job>> call() { return serviceOptions.rpc().listJobs(optionsMap); } }, serviceOptions.retryParams(), EXCEPTION_HANDLER, serviceOptions.clock()); String cursor = result.x(); Iterable<Job> jobs = Iterables.transform(result.y(), new Function<com.google.api.services.bigquery.model.Job, Job>() { @Override public Job apply(com.google.api.services.bigquery.model.Job job) { return Job.fromPb(serviceOptions.service(), job); } }); return new PageImpl<>(new JobPageFetcher(serviceOptions, cursor, optionsMap), cursor, jobs); }
private static Page<Table> listTables(final String datasetId, final BigQueryOptions serviceOptions, final Map<BigQueryRpc.Option, ?> optionsMap) { try { BigQueryRpc.Tuple<String, Iterable<com.google.api.services.bigquery.model.Table>> result = runWithRetries(new Callable<BigQueryRpc.Tuple<String, Iterable<com.google.api.services.bigquery.model.Table>>>() { @Override public BigQueryRpc.Tuple<String, Iterable<com.google.api.services.bigquery.model.Table>> call() { return serviceOptions.rpc().listTables(datasetId, optionsMap); } }, serviceOptions.retryParams(), EXCEPTION_HANDLER, serviceOptions.clock()); String cursor = result.x(); Iterable<Table> tables = Iterables.transform(result.y(), new Function<com.google.api.services.bigquery.model.Table, Table>() { @Override public Table apply(com.google.api.services.bigquery.model.Table table) { return Table.fromPb(serviceOptions.service(), table); } }); return new PageImpl<>(new TablePageFetcher(datasetId, serviceOptions, cursor, optionsMap), cursor, tables); } catch (RetryHelper.RetryHelperException e) { throw BigQueryException.translateAndThrow(e); } }
@Override protected void flushBuffer(final int length, final boolean last) { try { runWithRetries(callable(new Runnable() { @Override public void run() { options().rpc().write(uploadId(), buffer(), 0, position(), length, last); } }), options().retryParams(), BigQueryImpl.EXCEPTION_HANDLER, options().clock()); } catch (RetryHelper.RetryHelperException e) { throw BigQueryException.translateAndThrow(e); } }
@Override public boolean cancel(final JobId jobId) { try { return runWithRetries(new Callable<Boolean>() { @Override public Boolean call() { return bigQueryRpc.cancel(jobId.job()); } }, options().retryParams(), EXCEPTION_HANDLER, options().clock()); } catch (RetryHelper.RetryHelperException e) { throw BigQueryException.translateAndThrow(e); } }
private static Page<Dataset> listDatasets(final BigQueryOptions serviceOptions, final Map<BigQueryRpc.Option, ?> optionsMap) { try { BigQueryRpc.Tuple<String, Iterable<com.google.api.services.bigquery.model.Dataset>> result = runWithRetries(new Callable<BigQueryRpc.Tuple<String, Iterable<com.google.api.services.bigquery.model.Dataset>>>() { @Override public BigQueryRpc.Tuple<String, Iterable<com.google.api.services.bigquery.model.Dataset>> call() { return serviceOptions.rpc().listDatasets(optionsMap); } }, serviceOptions.retryParams(), EXCEPTION_HANDLER, serviceOptions.clock()); String cursor = result.x(); return new PageImpl<>(new DatasetPageFetcher(serviceOptions, cursor, optionsMap), cursor, Iterables.transform(result.y(), new Function<com.google.api.services.bigquery.model.Dataset, Dataset>() { @Override public Dataset apply(com.google.api.services.bigquery.model.Dataset dataset) { return Dataset.fromPb(serviceOptions.service(), dataset); } })); } catch (RetryHelper.RetryHelperException e) { throw BigQueryException.translateAndThrow(e); } }
@Override public Dataset getDataset(final DatasetId datasetId, DatasetOption... options) { final Map<BigQueryRpc.Option, ?> optionsMap = optionMap(options); try { com.google.api.services.bigquery.model.Dataset answer = runWithRetries(new Callable<com.google.api.services.bigquery.model.Dataset>() { @Override public com.google.api.services.bigquery.model.Dataset call() { return bigQueryRpc.getDataset(datasetId.dataset(), optionsMap); } }, options().retryParams(), EXCEPTION_HANDLER, options().clock()); return answer == null ? null : Dataset.fromPb(this, answer); } catch (RetryHelper.RetryHelperException e) { throw BigQueryException.translateAndThrow(e); } }
@Override public boolean delete(final TableId tableId) { try { return runWithRetries(new Callable<Boolean>() { @Override public Boolean call() { return bigQueryRpc.deleteTable(tableId.dataset(), tableId.table()); } }, options().retryParams(), EXCEPTION_HANDLER, options().clock()); } catch (RetryHelper.RetryHelperException e) { throw BigQueryException.translateAndThrow(e); } }
CheckingPeriod checkingPeriod = CheckingPeriod.getOrDefault(waitOptions); long timeoutMillis = timeout.timeoutMillis(); Clock clock = options.clock(); long startTime = clock.millis(); while (!isDone()) {
private static Page<List<FieldValue>> listTableData(final TableId tableId, final BigQueryOptions serviceOptions, final Map<BigQueryRpc.Option, ?> optionsMap) { try { BigQueryRpc.Tuple<String, Iterable<TableRow>> result = runWithRetries(new Callable<BigQueryRpc.Tuple<String, Iterable<TableRow>>>() { @Override public BigQueryRpc.Tuple<String, Iterable<TableRow>> call() { return serviceOptions.rpc() .listTableData(tableId.dataset(), tableId.table(), optionsMap); } }, serviceOptions.retryParams(), EXCEPTION_HANDLER, serviceOptions.clock()); String cursor = result.x(); return new PageImpl<>(new TableDataPageFetcher(tableId, serviceOptions, cursor, optionsMap), cursor, transformTableData(result.y())); } catch (RetryHelper.RetryHelperException e) { throw BigQueryException.translateAndThrow(e); } }
@Override public boolean delete(final DatasetId datasetId, DatasetDeleteOption... options) { final Map<BigQueryRpc.Option, ?> optionsMap = optionMap(options); try { return runWithRetries(new Callable<Boolean>() { @Override public Boolean call() { return bigQueryRpc.deleteDataset(datasetId.dataset(), optionsMap); } }, options().retryParams(), EXCEPTION_HANDLER, options().clock()); } catch (RetryHelper.RetryHelperException e) { throw BigQueryException.translateAndThrow(e); } }
@Override public Table getTable(final TableId tableId, TableOption... options) { final Map<BigQueryRpc.Option, ?> optionsMap = optionMap(options); try { com.google.api.services.bigquery.model.Table answer = runWithRetries(new Callable<com.google.api.services.bigquery.model.Table>() { @Override public com.google.api.services.bigquery.model.Table call() { return bigQueryRpc.getTable(tableId.dataset(), tableId.table(), optionsMap); } }, options().retryParams(), EXCEPTION_HANDLER, options().clock()); return answer == null ? null : Table.fromPb(this, answer); } catch (RetryHelper.RetryHelperException e) { throw BigQueryException.translateAndThrow(e); } }
@Override public Dataset update(DatasetInfo dataset, DatasetOption... options) { final com.google.api.services.bigquery.model.Dataset datasetPb = dataset.setProjectId(options().projectId()).toPb(); final Map<BigQueryRpc.Option, ?> optionsMap = optionMap(options); try { return Dataset.fromPb(this, runWithRetries(new Callable<com.google.api.services.bigquery.model.Dataset>() { @Override public com.google.api.services.bigquery.model.Dataset call() { return bigQueryRpc.patch(datasetPb, optionsMap); } }, options().retryParams(), EXCEPTION_HANDLER, options().clock())); } catch (RetryHelper.RetryHelperException e) { throw BigQueryException.translateAndThrow(e); } }
@Override public Job getJob(final JobId jobId, JobOption... options) { final Map<BigQueryRpc.Option, ?> optionsMap = optionMap(options); try { com.google.api.services.bigquery.model.Job answer = runWithRetries(new Callable<com.google.api.services.bigquery.model.Job>() { @Override public com.google.api.services.bigquery.model.Job call() { return bigQueryRpc.getJob(jobId.job(), optionsMap); } }, options().retryParams(), EXCEPTION_HANDLER, options().clock()); return answer == null ? null : Job.fromPb(this, answer); } catch (RetryHelper.RetryHelperException e) { throw BigQueryException.translateAndThrow(e); } }
@Override public Dataset create(DatasetInfo dataset, DatasetOption... options) { final com.google.api.services.bigquery.model.Dataset datasetPb = dataset.setProjectId(options().projectId()).toPb(); final Map<BigQueryRpc.Option, ?> optionsMap = optionMap(options); try { return Dataset.fromPb(this, runWithRetries(new Callable<com.google.api.services.bigquery.model.Dataset>() { @Override public com.google.api.services.bigquery.model.Dataset call() { return bigQueryRpc.create(datasetPb, optionsMap); } }, options().retryParams(), EXCEPTION_HANDLER, options().clock())); } catch (RetryHelper.RetryHelperException e) { throw BigQueryException.translateAndThrow(e); } }
@Override public Job create(JobInfo job, JobOption... options) { final com.google.api.services.bigquery.model.Job jobPb = job.setProjectId(options().projectId()).toPb(); final Map<BigQueryRpc.Option, ?> optionsMap = optionMap(options); try { return Job.fromPb(this, runWithRetries(new Callable<com.google.api.services.bigquery.model.Job>() { @Override public com.google.api.services.bigquery.model.Job call() { return bigQueryRpc.create(jobPb, optionsMap); } }, options().retryParams(), EXCEPTION_HANDLER, options().clock())); } catch (RetryHelper.RetryHelperException e) { throw BigQueryException.translateAndThrow(e); } }
@Override public Table create(TableInfo table, TableOption... options) { final com.google.api.services.bigquery.model.Table tablePb = table.setProjectId(options().projectId()).toPb(); final Map<BigQueryRpc.Option, ?> optionsMap = optionMap(options); try { return Table.fromPb(this, runWithRetries(new Callable<com.google.api.services.bigquery.model.Table>() { @Override public com.google.api.services.bigquery.model.Table call() { return bigQueryRpc.create(tablePb, optionsMap); } }, options().retryParams(), EXCEPTION_HANDLER, options().clock())); } catch (RetryHelper.RetryHelperException e) { throw BigQueryException.translateAndThrow(e); } }
@Override public Table update(TableInfo table, TableOption... options) { final com.google.api.services.bigquery.model.Table tablePb = table.setProjectId(options().projectId()).toPb(); final Map<BigQueryRpc.Option, ?> optionsMap = optionMap(options); try { return Table.fromPb(this, runWithRetries(new Callable<com.google.api.services.bigquery.model.Table>() { @Override public com.google.api.services.bigquery.model.Table call() { return bigQueryRpc.patch(tablePb, optionsMap); } }, options().retryParams(), EXCEPTION_HANDLER, options().clock())); } catch (RetryHelper.RetryHelperException e) { throw BigQueryException.translateAndThrow(e); } }
return serviceOptions.rpc().getQueryResults(jobId.job(), optionsMap); }, serviceOptions.retryParams(), EXCEPTION_HANDLER, serviceOptions.clock()); QueryResponse.Builder builder = QueryResponse.builder(); JobId completeJobId = JobId.fromPb(results.getJobReference());
return bigQueryRpc.query(request.setProjectId(options().projectId()).toPb()); }, options().retryParams(), EXCEPTION_HANDLER, options().clock()); QueryResponse.Builder builder = QueryResponse.builder(); JobId completeJobId = JobId.fromPb(results.getJobReference());