Skip to content

Commit fd49c62

Browse files
committed
revert missing single catalog path in getSchemas
1 parent 60af5b1 commit fd49c62

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryDatabaseMetaData.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3423,6 +3423,22 @@ public ResultSet getSchemas(String catalog, String schemaPattern) throws SQLExce
34233423
final Schema resultSchema = defineGetSchemasSchema();
34243424
final FieldList resultSchemaFields = resultSchema.getFields();
34253425

3426+
if (catalog != null) {
3427+
// Single-Catalog Path: completely synchronous on caller thread
3428+
final BlockingQueue<BigQueryFieldValueListWrapper> queue =
3429+
new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY);
3430+
List<Dataset> datasets = fetchMatchingDatasets(catalog, schemaPattern, schemaRegex);
3431+
List<FieldValueList> collectedResults = new ArrayList<>();
3432+
for (Dataset dataset : datasets) {
3433+
processSchemaInfo(dataset, collectedResults, resultSchemaFields);
3434+
}
3435+
Comparator<FieldValueList> comparator = defineGetSchemasComparator(resultSchemaFields);
3436+
sortResults(collectedResults, comparator, "getSchemas", LOG);
3437+
populateQueue(collectedResults, queue, resultSchemaFields);
3438+
signalEndOfData(queue, resultSchemaFields);
3439+
return BigQueryJsonResultSet.of(resultSchema, -1, queue, null);
3440+
}
3441+
34263442
final BlockingQueue<BigQueryFieldValueListWrapper> queue =
34273443
new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY);
34283444
Runnable schemaFetcher =

0 commit comments

Comments
 (0)