Skip to content
This repository was archived by the owner on Mar 23, 2026. It is now read-only.

Commit b8fcc38

Browse files
authored
Merge branch 'main' into renovate/com.google.cloud-sdk-platform-java-config-3.x
2 parents 4f3ee06 + ad438dc commit b8fcc38

21 files changed

Lines changed: 451 additions & 316 deletions

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,7 @@ private String formatRangeElement(Object element, StandardSQLTypeName elementTyp
441441

442442
@Override
443443
public void close() {
444-
LOG.fine(String.format("Closing BigqueryArrowResultSet %s.", this));
444+
LOG.fine("Closing BigqueryArrowResultSet %s.", this);
445445
this.isClosed = true;
446446
if (ownedThread != null && !ownedThread.isInterrupted()) {
447447
// interrupt the producer thread when result set is closed

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,7 @@ public void close() {
103103
statement.close();
104104
}
105105
} catch (SQLException ex) {
106-
LOG.warning(
107-
String.format("Exception during ResultState.close() operation: %s", ex.getMessage()));
106+
LOG.warning("Exception during ResultState.close() operation: %s", ex.getMessage());
108107
}
109108
}
110109

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

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -930,8 +930,7 @@ public URL getURL(String arg0) throws SQLException {
930930
@Override
931931
public void registerOutParameter(int paramIndex, int sqlType) throws SQLException {
932932
LOG.finest("++enter++");
933-
LOG.finest(
934-
String.format("registerOutParameter: paramIndex %s, sqlType %s", paramIndex, sqlType));
933+
LOG.finest("registerOutParameter: paramIndex %s, sqlType %s", paramIndex, sqlType);
935934
checkClosed();
936935
try {
937936
this.parameterHandler.setParameter(
@@ -948,7 +947,7 @@ public void registerOutParameter(int paramIndex, int sqlType) throws SQLExceptio
948947
@Override
949948
public void registerOutParameter(String paramName, int sqlType) throws SQLException {
950949
LOG.finest("++enter++");
951-
LOG.finest(String.format("registerOutParameter: paramName %s, sqlType %s", paramName, sqlType));
950+
LOG.finest("registerOutParameter: paramName %s, sqlType %s", paramName, sqlType);
952951
checkClosed();
953952
try {
954953
this.parameterHandler.setParameter(
@@ -966,9 +965,7 @@ public void registerOutParameter(String paramName, int sqlType) throws SQLExcept
966965
public void registerOutParameter(int paramIndex, int sqlType, int scale) throws SQLException {
967966
LOG.finest("++enter++");
968967
LOG.finest(
969-
String.format(
970-
"registerOutParameter: paramIndex %s, sqlType %s, scale %s",
971-
paramIndex, sqlType, scale));
968+
"registerOutParameter: paramIndex %s, sqlType %s, scale %s", paramIndex, sqlType, scale);
972969
checkClosed();
973970
if (sqlType != Types.NUMERIC && sqlType != Types.DECIMAL) {
974971
throw new IllegalArgumentException(
@@ -991,9 +988,8 @@ public void registerOutParameter(int paramIndex, int sqlType, String typeName)
991988
throws SQLException {
992989
LOG.finest("++enter++");
993990
LOG.finest(
994-
String.format(
995-
"registerOutParameter: paramIndex %s, sqlType %s, typeName %s",
996-
paramIndex, sqlType, typeName));
991+
"registerOutParameter: paramIndex %s, sqlType %s, typeName %s",
992+
paramIndex, sqlType, typeName);
997993
// fully qualified sql typeName is not supported by the driver and hence ignored.
998994
registerOutParameter(paramIndex, sqlType);
999995
}
@@ -1002,9 +998,7 @@ public void registerOutParameter(int paramIndex, int sqlType, String typeName)
1002998
public void registerOutParameter(String paramName, int sqlType, int scale) throws SQLException {
1003999
LOG.finest("++enter++");
10041000
LOG.finest(
1005-
String.format(
1006-
"registerOutParameter: paramIndex %s, sqlType %s, scale %s",
1007-
paramName, sqlType, scale));
1001+
"registerOutParameter: paramIndex %s, sqlType %s, scale %s", paramName, sqlType, scale);
10081002
checkClosed();
10091003
if (sqlType != Types.NUMERIC && sqlType != Types.DECIMAL) {
10101004
throw new IllegalArgumentException(
@@ -1027,9 +1021,8 @@ public void registerOutParameter(String paramName, int sqlType, String typeName)
10271021
throws SQLException {
10281022
LOG.finest("++enter++");
10291023
LOG.finest(
1030-
String.format(
1031-
"registerOutParameter: paramIndex %s, sqlType %s, typeName %s",
1032-
paramName, sqlType, typeName));
1024+
"registerOutParameter: paramIndex %s, sqlType %s, typeName %s",
1025+
paramName, sqlType, typeName);
10331026
// fully qualified sql typeName is not supported by the driver and hence ignored.
10341027
registerOutParameter(paramName, sqlType);
10351028
}

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

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,9 @@ public class BigQueryConnection extends BigQueryNoOpsConnection {
131131
String sslTrustStorePassword;
132132
long maxBytesBilled;
133133
Map<String, String> labels;
134+
Integer httpConnectTimeout;
135+
Integer httpReadTimeout;
136+
String requestReason;
134137

135138
BigQueryConnection(String url) throws IOException {
136139
this.connectionUrl = url;
@@ -272,11 +275,25 @@ public class BigQueryConnection extends BigQueryNoOpsConnection {
272275
BigQueryJdbcUrlUtility.SSL_TRUST_STORE_PWD_PROPERTY_NAME,
273276
null,
274277
this.connectionClassName);
278+
this.httpConnectTimeout =
279+
BigQueryJdbcUrlUtility.parseIntProperty(
280+
url,
281+
BigQueryJdbcUrlUtility.HTTP_CONNECT_TIMEOUT_PROPERTY_NAME,
282+
null,
283+
this.connectionClassName);
284+
this.httpReadTimeout =
285+
BigQueryJdbcUrlUtility.parseIntProperty(
286+
url,
287+
BigQueryJdbcUrlUtility.HTTP_READ_TIMEOUT_PROPERTY_NAME,
288+
null,
289+
this.connectionClassName);
275290
this.httpTransportOptions =
276291
BigQueryJdbcProxyUtility.getHttpTransportOptions(
277292
proxyProperties,
278293
this.sslTrustStorePath,
279294
this.sslTrustStorePassword,
295+
this.httpConnectTimeout,
296+
this.httpReadTimeout,
280297
this.connectionClassName);
281298
this.transportChannelProvider =
282299
BigQueryJdbcProxyUtility.getTransportChannelProvider(
@@ -347,6 +364,12 @@ public class BigQueryConnection extends BigQueryNoOpsConnection {
347364
BigQueryJdbcUrlUtility.METADATA_FETCH_THREAD_COUNT_PROPERTY_NAME,
348365
BigQueryJdbcUrlUtility.DEFAULT_METADATA_FETCH_THREAD_COUNT_VALUE,
349366
this.connectionClassName);
367+
this.requestReason =
368+
BigQueryJdbcUrlUtility.parseStringProperty(
369+
url,
370+
BigQueryJdbcUrlUtility.REQUEST_REASON_PROPERTY_NAME,
371+
null,
372+
this.connectionClassName);
350373

351374
HEADER_PROVIDER = createHeaderProvider();
352375
this.bigQuery = getBigQueryConnection();
@@ -383,11 +406,16 @@ HeaderProvider createHeaderProvider() {
383406
String partnerToken = buildPartnerToken(this.connectionUrl);
384407
String headerToken =
385408
DEFAULT_JDBC_TOKEN_VALUE + "/" + getLibraryVersion(this.getClass()) + partnerToken;
386-
return FixedHeaderProvider.create("user-agent", headerToken);
409+
Map<String, String> headers = new java.util.HashMap<>();
410+
headers.put("user-agent", headerToken);
411+
if (this.requestReason != null) {
412+
headers.put("x-goog-request-reason", this.requestReason);
413+
}
414+
return FixedHeaderProvider.create(headers);
387415
}
388416

389417
protected void addOpenStatements(Statement statement) {
390-
LOG.finest(String.format("Statement %s added to Connection %s.", statement, this));
418+
LOG.finest("Statement %s added to Connection %s.", statement, this);
391419
this.openStatements.add(statement);
392420
}
393421

@@ -431,7 +459,7 @@ String getConnectionUrl() {
431459
public Statement createStatement() throws SQLException {
432460
checkClosed();
433461
BigQueryStatement currentStatement = new BigQueryStatement(this);
434-
LOG.fine(String.format("Statement %s created.", currentStatement));
462+
LOG.fine("Statement %s created.", currentStatement);
435463
addOpenStatements(currentStatement);
436464
return currentStatement;
437465
}
@@ -490,7 +518,7 @@ public Statement createStatement(
490518
public PreparedStatement prepareStatement(String sql) throws SQLException {
491519
checkClosed();
492520
PreparedStatement currentStatement = new BigQueryPreparedStatement(this, sql);
493-
LOG.fine(String.format("Prepared Statement %s created.", currentStatement));
521+
LOG.fine("Prepared Statement %s created.", currentStatement);
494522
addOpenStatements(currentStatement);
495523
return currentStatement;
496524
}
@@ -724,6 +752,14 @@ String getSSLTrustStorePassword() {
724752
return sslTrustStorePassword;
725753
}
726754

755+
Integer getHttpConnectTimeout() {
756+
return httpConnectTimeout;
757+
}
758+
759+
Integer getHttpReadTimeout() {
760+
return httpReadTimeout;
761+
}
762+
727763
@Override
728764
public boolean isValid(int timeout) throws SQLException {
729765
if (timeout < 0) {
@@ -1139,7 +1175,7 @@ private void commitTransaction() {
11391175
public CallableStatement prepareCall(String sql) throws SQLException {
11401176
checkClosed();
11411177
CallableStatement currentStatement = new BigQueryCallableStatement(this, sql);
1142-
LOG.fine(String.format("Callable Statement %s created.", currentStatement));
1178+
LOG.fine("Callable Statement %s created.", currentStatement);
11431179
addOpenStatements(currentStatement);
11441180
return currentStatement;
11451181
}

0 commit comments

Comments
 (0)