From eb824b45b55eaf83b07339fdbd67353f63caaa6f Mon Sep 17 00:00:00 2001 From: Prashant Mishra Date: Thu, 9 Sep 2021 10:52:16 +0530 Subject: [PATCH] Modifie the Impl methods in ConnectionImpl to return java.sql.ResultSet, commenting the queryJob logic for the time being as it currently doesn't return the java.sql.ResultSet --- .../google/cloud/bigquery/ConnectionImpl.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/ConnectionImpl.java b/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/ConnectionImpl.java index 017c069976..3f80c5c2d6 100644 --- a/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/ConnectionImpl.java +++ b/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/ConnectionImpl.java @@ -25,6 +25,7 @@ import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; +import java.sql.ResultSet; import java.util.*; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingDeque; @@ -60,7 +61,7 @@ public BigQueryDryRunResult dryRun(String sql) throws BigQuerySQLException { } @Override - public BigQueryResultSet executeSelect(String sql) throws BigQuerySQLException { + public ResultSet executeSelect(String sql) throws BigQuerySQLException { // use jobs.query if all the properties of connectionSettings are supported if (isFastQuerySupported()) { String projectId = bigQueryOptions.getProjectId(); @@ -70,11 +71,11 @@ public BigQueryResultSet executeSelect(String sql) throws BigQuerySQLException { // use jobs.insert otherwise com.google.api.services.bigquery.model.Job queryJob = createQueryJob(sql, connectionSettings, null, null); - return getQueryResultsRpc(JobId.fromPb(queryJob.getJobReference())); + return null; // TODO getQueryResultsRpc(JobId.fromPb(queryJob.getJobReference())); } @Override - public BigQueryResultSet executeSelect( + public ResultSet executeSelect( String sql, List parameters, Map labels) throws BigQuerySQLException { // use jobs.query if possible @@ -87,10 +88,10 @@ public BigQueryResultSet executeSelect( // use jobs.insert otherwise com.google.api.services.bigquery.model.Job queryJob = createQueryJob(sql, connectionSettings, parameters, labels); - return getQueryResultsRpc(JobId.fromPb(queryJob.getJobReference())); + return null; // TODO getQueryResultsRpc(JobId.fromPb(queryJob.getJobReference())); } - private BigQueryResultSet queryRpc(final String projectId, final QueryRequest queryRequest) { + private ResultSet queryRpc(final String projectId, final QueryRequest queryRequest) { com.google.api.services.bigquery.model.QueryResponse results; try { results = @@ -122,7 +123,7 @@ private BigQueryResultSet queryRpc(final String projectId, final QueryRequest qu long totalRows = results.getTotalRows().longValue(); long pageRows = results.getRows().size(); JobId jobId = JobId.fromPb(results.getJobReference()); - return getQueryResultsWithJobId(totalRows, pageRows, null, jobId); + return null; // TODO getQueryResultsWithJobId(totalRows, pageRows, null, jobId); } } @@ -136,7 +137,7 @@ private Map getFieldNameType(Schema schema) { return nameType; } - private BigQueryResultSet processQueryResponseResults( + private ResultSet processQueryResponseResults( com.google.api.services.bigquery.model.QueryResponse results) { Schema schema; long numRows; @@ -144,7 +145,8 @@ private BigQueryResultSet processQueryResponseResults( numRows = results.getTotalRows().longValue(); // Producer thread for populating the buffer row by row - BlockingQueue buffer = new LinkedBlockingDeque<>(1000); // TODO: Update the capacity + BlockingQueue buffer = + new LinkedBlockingDeque<>(1000); // TODO: Update the capacity. Prefetch limit Runnable populateBufferRunnable = () -> { // producer thread populating the buffer List tableRows = results.getRows(); @@ -166,7 +168,7 @@ private BigQueryResultSet processQueryResponseResults( long totalRows = results.getTotalRows().longValue(); long pageRows = results.getRows().size(); JobId jobId = JobId.fromPb(results.getJobReference()); - return getQueryResultsWithJobId(totalRows, pageRows, schema, jobId); + return null; // TODO - Implement getQueryResultsWithJobId(totalRows, pageRows, schema, jobId); } /* Returns query results using either tabledata.list or the high throughput Read API */