diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml
index cd91b662b9..f930d4846f 100644
--- a/.github/.OwlBot.lock.yaml
+++ b/.github/.OwlBot.lock.yaml
@@ -13,5 +13,5 @@
# limitations under the License.
docker:
image: gcr.io/cloud-devrel-public-resources/owlbot-java:latest
- digest: sha256:d0a8eb7ffc63ddce4c63191373d6e99d5385516423c396de207dedf2b6db7427
-# created: 2023-10-17T17:33:29.360983119Z
+ digest: sha256:bc2bf47c7370f1b1a8a46b0c104ce7e43644ac58902c9de265fe1f253fcc2506
+# created: 2023-10-31T13:44:21.909247346Z
diff --git a/.github/release-please.yml b/.github/release-please.yml
index 1f8716a819..aeddaf35f4 100644
--- a/.github/release-please.yml
+++ b/.github/release-please.yml
@@ -18,3 +18,7 @@ branches:
handleGHRelease: true
releaseType: java-backport
branch: 2.25.x
+ - bumpMinorPreMajor: true
+ handleGHRelease: true
+ releaseType: java-backport
+ branch: 2.38.x
diff --git a/.github/sync-repo-settings.yaml b/.github/sync-repo-settings.yaml
index f278f386f6..a9bfc04424 100644
--- a/.github/sync-repo-settings.yaml
+++ b/.github/sync-repo-settings.yaml
@@ -77,6 +77,20 @@ branchProtectionRules:
- 'Kokoro - Test: Integration'
- cla/google
- OwlBot Post Processor
+ - pattern: 2.38.x
+ isAdminEnforced: true
+ requiredApprovingReviewCount: 1
+ requiresCodeOwnerReviews: true
+ requiresStrictStatusChecks: false
+ requiredStatusCheckContexts:
+ - dependencies (17)
+ - lint
+ - clirr
+ - units (8)
+ - units (11)
+ - 'Kokoro - Test: Integration'
+ - cla/google
+ - OwlBot Post Processor
permissionRules:
- team: yoshi-admins
permission: admin
diff --git a/.kokoro/continuous/graalvm-native-17.cfg b/.kokoro/continuous/graalvm-native-17.cfg
index 9eea05bada..bcdbba576b 100644
--- a/.kokoro/continuous/graalvm-native-17.cfg
+++ b/.kokoro/continuous/graalvm-native-17.cfg
@@ -3,7 +3,7 @@
# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
- value: "gcr.io/cloud-devrel-kokoro-resources/graalvm17:22.3.2"
+ value: "gcr.io/cloud-devrel-kokoro-resources/graalvm17:22.3.3"
}
env_vars: {
diff --git a/.kokoro/continuous/graalvm-native.cfg b/.kokoro/continuous/graalvm-native.cfg
index 3497a436b7..92fc2cfe7f 100644
--- a/.kokoro/continuous/graalvm-native.cfg
+++ b/.kokoro/continuous/graalvm-native.cfg
@@ -3,7 +3,7 @@
# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
- value: "gcr.io/cloud-devrel-kokoro-resources/graalvm:22.3.2"
+ value: "gcr.io/cloud-devrel-kokoro-resources/graalvm:22.3.3"
}
env_vars: {
diff --git a/.kokoro/presubmit/graalvm-native-17.cfg b/.kokoro/presubmit/graalvm-native-17.cfg
index f525335458..fb5bb678ff 100644
--- a/.kokoro/presubmit/graalvm-native-17.cfg
+++ b/.kokoro/presubmit/graalvm-native-17.cfg
@@ -3,7 +3,7 @@
# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
- value: "gcr.io/cloud-devrel-kokoro-resources/graalvm17:22.3.2"
+ value: "gcr.io/cloud-devrel-kokoro-resources/graalvm17:22.3.3"
}
env_vars: {
diff --git a/.kokoro/presubmit/graalvm-native.cfg b/.kokoro/presubmit/graalvm-native.cfg
index 44b1004875..59efee340c 100644
--- a/.kokoro/presubmit/graalvm-native.cfg
+++ b/.kokoro/presubmit/graalvm-native.cfg
@@ -3,7 +3,7 @@
# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
- value: "gcr.io/cloud-devrel-kokoro-resources/graalvm:22.3.2"
+ value: "gcr.io/cloud-devrel-kokoro-resources/graalvm:22.3.3"
}
env_vars: {
diff --git a/.kokoro/requirements.txt b/.kokoro/requirements.txt
index 59de492340..c5c11bbe79 100644
--- a/.kokoro/requirements.txt
+++ b/.kokoro/requirements.txt
@@ -470,9 +470,9 @@ typing-extensions==4.7.1 \
--hash=sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36 \
--hash=sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2
# via -r requirements.in
-urllib3==1.26.17 \
- --hash=sha256:24d6a242c28d29af46c3fae832c36db3bbebcc533dd1bb549172cd739c82df21 \
- --hash=sha256:94a757d178c9be92ef5539b8840d48dc9cf1b2709c9d6b588232a055c524458b
+urllib3==1.26.18 \
+ --hash=sha256:34b97092d7e0a3a8cf7cd10e386f401b3737364026c45e622aa02903dffe0f07 \
+ --hash=sha256:f8ecc1bba5667413457c529ab955bf8c67b45db799d159066261719e328580a0
# via
# google-auth
# requests
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5582d25358..dfecbd7143 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,25 @@
# Changelog
+## [2.45.0](https://github.com/googleapis/java-bigquerystorage/compare/v2.44.1...v2.45.0) (2023-11-07)
+
+
+### Features
+
+* Add support for proto3 optional tag ([#2295](https://github.com/googleapis/java-bigquerystorage/issues/2295)) ([bc88aa5](https://github.com/googleapis/java-bigquerystorage/commit/bc88aa57f55b2c3605cbb9c66f2e66daa695c20c))
+
+
+### Bug Fixes
+
+* Add native image configurations for com.google.rpc classes ([#2305](https://github.com/googleapis/java-bigquerystorage/issues/2305)) ([3a771fd](https://github.com/googleapis/java-bigquerystorage/commit/3a771fded7c0f5243be1e4c76e7229f15eda95fa))
+* **bigquery:** Make exponential backoff retry second based ([#2212](https://github.com/googleapis/java-bigquerystorage/issues/2212)) ([eff4a09](https://github.com/googleapis/java-bigquerystorage/commit/eff4a09aece936dfee7fff46e7bd031ec780ab96))
+
+
+### Dependencies
+
+* Update dependency com.google.cloud:google-cloud-bigquery to v2.34.0 ([#2291](https://github.com/googleapis/java-bigquerystorage/issues/2291)) ([5377f79](https://github.com/googleapis/java-bigquerystorage/commit/5377f79300e38b192d36fe2e4ee42b34b8173aa1))
+* Update dependency com.google.cloud:google-cloud-bigquery to v2.34.1 ([#2308](https://github.com/googleapis/java-bigquerystorage/issues/2308)) ([6aee78f](https://github.com/googleapis/java-bigquerystorage/commit/6aee78f9d0f1918056d8fd2dd74bd0934733d496))
+* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.19.0 ([#2300](https://github.com/googleapis/java-bigquerystorage/issues/2300)) ([1ddd11c](https://github.com/googleapis/java-bigquerystorage/commit/1ddd11c8910df6fc277d7bdd6856f85695a43009))
+
## [2.44.1](https://github.com/googleapis/java-bigquerystorage/compare/v2.44.0...v2.44.1) (2023-10-25)
diff --git a/README.md b/README.md
index b66d3e3f2a..82c9e4277d 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file:
com.google.cloud
libraries-bom
- 26.25.0
+ 26.26.0
pom
import
@@ -42,7 +42,7 @@ If you are using Maven without the BOM, add this to your dependencies:
com.google.cloud
google-cloud-bigquerystorage
- 2.44.0
+ 2.44.1
```
@@ -50,20 +50,20 @@ If you are using Maven without the BOM, add this to your dependencies:
If you are using Gradle 5.x or later, add this to your dependencies:
```Groovy
-implementation platform('com.google.cloud:libraries-bom:26.25.0')
+implementation platform('com.google.cloud:libraries-bom:26.26.0')
implementation 'com.google.cloud:google-cloud-bigquerystorage'
```
If you are using Gradle without BOM, add this to your dependencies:
```Groovy
-implementation 'com.google.cloud:google-cloud-bigquerystorage:2.44.0'
+implementation 'com.google.cloud:google-cloud-bigquerystorage:2.44.1'
```
If you are using SBT, add this to your dependencies:
```Scala
-libraryDependencies += "com.google.cloud" % "google-cloud-bigquerystorage" % "2.44.0"
+libraryDependencies += "com.google.cloud" % "google-cloud-bigquerystorage" % "2.44.1"
```
@@ -220,7 +220,7 @@ Java is a registered trademark of Oracle and/or its affiliates.
[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-bigquerystorage/java11.html
[stability-image]: https://img.shields.io/badge/stability-stable-green
[maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-bigquerystorage.svg
-[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-bigquerystorage/2.44.0
+[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-bigquerystorage/2.44.1
[authentication]: https://github.com/googleapis/google-cloud-java#authentication
[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes
[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles
diff --git a/google-cloud-bigquerystorage-bom/pom.xml b/google-cloud-bigquerystorage-bom/pom.xml
index 4dd268e2db..cfd9fc7fa1 100644
--- a/google-cloud-bigquerystorage-bom/pom.xml
+++ b/google-cloud-bigquerystorage-bom/pom.xml
@@ -3,12 +3,12 @@
4.0.0
com.google.cloud
google-cloud-bigquerystorage-bom
- 2.44.1
+ 2.45.0
pom
com.google.cloud
google-cloud-shared-config
- 1.6.0
+ 1.6.1
Google Cloud bigquerystorage BOM
@@ -52,37 +52,37 @@
com.google.cloud
google-cloud-bigquerystorage
- 2.44.1
+ 2.45.0
com.google.api.grpc
grpc-google-cloud-bigquerystorage-v1beta1
- 0.168.1
+ 0.169.0
com.google.api.grpc
grpc-google-cloud-bigquerystorage-v1beta2
- 0.168.1
+ 0.169.0
com.google.api.grpc
grpc-google-cloud-bigquerystorage-v1
- 2.44.1
+ 2.45.0
com.google.api.grpc
proto-google-cloud-bigquerystorage-v1beta1
- 0.168.1
+ 0.169.0
com.google.api.grpc
proto-google-cloud-bigquerystorage-v1beta2
- 0.168.1
+ 0.169.0
com.google.api.grpc
proto-google-cloud-bigquerystorage-v1
- 2.44.1
+ 2.45.0
diff --git a/google-cloud-bigquerystorage/pom.xml b/google-cloud-bigquerystorage/pom.xml
index 50e056fa80..794e8efa9e 100644
--- a/google-cloud-bigquerystorage/pom.xml
+++ b/google-cloud-bigquerystorage/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.google.cloud
google-cloud-bigquerystorage
- 2.44.1
+ 2.45.0
jar
BigQuery Storage
https://github.com/googleapis/java-bigquerystorage
@@ -11,7 +11,7 @@
com.google.cloud
google-cloud-bigquerystorage-parent
- 2.44.1
+ 2.45.0
google-cloud-bigquerystorage
diff --git a/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/ConnectionWorker.java b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/ConnectionWorker.java
index 44673207ba..52373596ce 100644
--- a/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/ConnectionWorker.java
+++ b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/ConnectionWorker.java
@@ -590,7 +590,7 @@ private void maybeWaitForInflightQuota() {
@VisibleForTesting
static long calculateSleepTimeMilli(long retryCount) {
- return Math.min((long) Math.pow(2, retryCount), 60000);
+ return (long) Math.min(Math.pow(2, retryCount) * 50, 60000);
}
@VisibleForTesting
diff --git a/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/ProtoSchemaConverter.java b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/ProtoSchemaConverter.java
index c55d4181a5..16e8e3425d 100644
--- a/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/ProtoSchemaConverter.java
+++ b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/ProtoSchemaConverter.java
@@ -102,6 +102,17 @@ private static ProtoSchema convertInternal(
enumTypes.add(enumFullName);
}
}
+ // The protobuf payload will be decoded as proto2 on the server side. The schema is also
+ // specified as proto2. Hence we must clear proto3-only features. This works since proto2 and
+ // proto3 are binary-compatible.
+ if (resultField.hasProto3Optional()) {
+ // Clear proto3-only features
+ resultField.clearProto3Optional();
+ }
+ if (resultField.hasOneofIndex()) {
+ // Clear proto3-only features
+ resultField.clearOneofIndex();
+ }
resultProto.addField(resultField);
}
structTypes.add(protoFullName);
diff --git a/google-cloud-bigquerystorage/src/main/resources/META-INF/native-image/com.google.cloud/google-cloud-bigquerystorage/reflect-config.json b/google-cloud-bigquerystorage/src/main/resources/META-INF/native-image/com.google.cloud/google-cloud-bigquerystorage/reflect-config.json
index e10630f8cf..4991643217 100644
--- a/google-cloud-bigquerystorage/src/main/resources/META-INF/native-image/com.google.cloud/google-cloud-bigquerystorage/reflect-config.json
+++ b/google-cloud-bigquerystorage/src/main/resources/META-INF/native-image/com.google.cloud/google-cloud-bigquerystorage/reflect-config.json
@@ -3,5 +3,23 @@
"name":"java.lang.Object",
"allDeclaredFields":true,
"queryAllDeclaredMethods":true,
- "methods":[{"name":"","parameterTypes":[] }]}
+ "methods":[{"name":"","parameterTypes":[] }]},
+ {
+ "name": "com.google.rpc.RetryInfo",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.rpc.RetryInfo$Builder",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ }
]
\ No newline at end of file
diff --git a/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/ConnectionWorkerTest.java b/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/ConnectionWorkerTest.java
index 3acf7d1349..71e4d47673 100644
--- a/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/ConnectionWorkerTest.java
+++ b/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/ConnectionWorkerTest.java
@@ -518,8 +518,8 @@ public void testStreamNameMismatch() throws Exception {
@Test
public void testExponentialBackoff() throws Exception {
- assertThat(ConnectionWorker.calculateSleepTimeMilli(0)).isEqualTo(1);
- assertThat(ConnectionWorker.calculateSleepTimeMilli(5)).isEqualTo(32);
+ assertThat(ConnectionWorker.calculateSleepTimeMilli(0)).isEqualTo(50);
+ assertThat(ConnectionWorker.calculateSleepTimeMilli(5)).isEqualTo(1600);
assertThat(ConnectionWorker.calculateSleepTimeMilli(100)).isEqualTo(60000);
}
diff --git a/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteManualClientTest.java b/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteManualClientTest.java
index d08713de53..39b660ffb2 100644
--- a/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteManualClientTest.java
+++ b/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteManualClientTest.java
@@ -28,6 +28,7 @@
import com.google.cloud.bigquery.Field.Mode;
import com.google.cloud.bigquery.Schema;
import com.google.cloud.bigquery.storage.test.Test.*;
+import com.google.cloud.bigquery.storage.test.TestOptional.*;
import com.google.cloud.bigquery.storage.v1.*;
import com.google.cloud.bigquery.storage.v1.AppendRowsRequest.MissingValueInterpretation;
import com.google.cloud.bigquery.storage.v1.Exceptions.AppendSerializationError;
@@ -207,6 +208,15 @@ ProtoRows CreateProtoRows(String[] messages) {
return rows.build();
}
+ ProtoRows CreateProtoOptionalRows(String[] messages) {
+ ProtoRows.Builder rows = ProtoRows.newBuilder();
+ for (String message : messages) {
+ FooOptionalType foo = FooOptionalType.newBuilder().setFoo(message).build();
+ rows.addSerializedRows(foo.toByteString());
+ }
+ return rows.build();
+ }
+
ProtoRows CreateProtoRowsMultipleColumns(String[] messages) {
ProtoRows.Builder rows = ProtoRows.newBuilder();
for (String message : messages) {
@@ -274,6 +284,35 @@ public void testBatchWriteWithCommittedStreamEU()
assertEquals(3, response2.get().getAppendResult().getOffset().getValue());
}
+ @Test
+ public void testProto3OptionalBatchWriteWithCommittedStream()
+ throws IOException, InterruptedException, ExecutionException {
+ WriteStream writeStream =
+ client.createWriteStream(
+ CreateWriteStreamRequest.newBuilder()
+ .setParent(tableId)
+ .setWriteStream(
+ WriteStream.newBuilder().setType(WriteStream.Type.COMMITTED).build())
+ .build());
+ StreamWriter streamWriter =
+ StreamWriter.newBuilder(writeStream.getName())
+ .setWriterSchema(ProtoSchemaConverter.convert(FooOptionalType.getDescriptor()))
+ .build();
+ LOG.info("Sending one message");
+
+ ApiFuture response =
+ streamWriter.append(CreateProtoOptionalRows(new String[] {"aaa"}), 0);
+ assertEquals(0, response.get().getAppendResult().getOffset().getValue());
+
+ LOG.info("Sending two more messages");
+ ApiFuture response1 =
+ streamWriter.append(CreateProtoOptionalRows(new String[] {"bbb", "ccc"}), 1);
+ ApiFuture response2 =
+ streamWriter.append(CreateProtoOptionalRows(new String[] {""}), 3);
+ assertEquals(1, response1.get().getAppendResult().getOffset().getValue());
+ assertEquals(3, response2.get().getAppendResult().getOffset().getValue());
+ }
+
@Test
public void testJsonStreamWriterCommittedStream()
throws IOException, InterruptedException, ExecutionException,
@@ -856,6 +895,72 @@ private void testJsonStreamWriterForDefaultValue(JsonStreamWriter jsonStreamWrit
assertEquals(false, iter.hasNext());
}
+ @Test
+ public void testStreamWriterWithDefaultValue() throws ExecutionException, InterruptedException {
+ String tableName = "streamWriterWithDefaultValue";
+ String exclusiveTableId =
+ String.format(
+ "projects/%s/datasets/%s/tables/%s",
+ ServiceOptions.getDefaultProjectId(), DATASET, tableName);
+ tableInfo =
+ TableInfo.newBuilder(TableId.of(DATASET, tableName), defaultValueTableDefinition).build();
+ bigquery.create(tableInfo);
+ try (StreamWriter streamWriter =
+ StreamWriter.newBuilder(exclusiveTableId + "/_default")
+ .setWriterSchema(
+ ProtoSchemaConverter.convert(SimpleTypeForDefaultValue.getDescriptor()))
+ .setDefaultMissingValueInterpretation(MissingValueInterpretation.DEFAULT_VALUE)
+ .setEnableConnectionPool(true)
+ .build()) {
+ // 1. row has both fields set.
+ SimpleTypeForDefaultValue simpleTypeForDefaultValue1 =
+ SimpleTypeForDefaultValue.newBuilder()
+ .setFooWithDefault("foo_value")
+ .setBarWithoutDefault("bar_value")
+ .setDateWithDefaultToCurrent("2022-02-02 01:02:03")
+ .build();
+
+ // 2. row without any column set, expect default value to be filled
+ SimpleTypeForDefaultValue simpleTypeForDefaultValue2 =
+ SimpleTypeForDefaultValue.newBuilder().build();
+ ProtoRows rows =
+ ProtoRows.newBuilder()
+ .addSerializedRows(simpleTypeForDefaultValue1.toByteString())
+ .addSerializedRows(simpleTypeForDefaultValue2.toByteString())
+ .build();
+
+ // Start insertion and validation.
+ ApiFuture response1 = streamWriter.append(rows);
+ response1.get();
+ TableResult result =
+ bigquery.listTableData(
+ tableInfo.getTableId(), BigQuery.TableDataListOption.startIndex(0L));
+ Iterator iter = result.getValues().iterator();
+
+ FieldValueList currentRow = iter.next();
+ assertEquals("foo_value", currentRow.get(0).getStringValue());
+ assertEquals("bar_value", currentRow.get(1).getStringValue());
+ assertEquals(
+ Timestamp.valueOf("2022-02-02 01:02:03")
+ .toLocalDateTime()
+ .atZone(ZoneId.of("UTC"))
+ .toInstant()
+ .toEpochMilli(),
+ Double.valueOf(currentRow.get(2).getStringValue()).longValue() * 1000);
+
+ currentRow = iter.next();
+ assertEquals("default_value_for_test", currentRow.get(0).getStringValue());
+ assertEquals(null, currentRow.get(1).getValue());
+ assertFalse(currentRow.get(2).getStringValue().isEmpty());
+ // Check whether the recorded value is up to date enough.
+ Instant parsedInstant =
+ Instant.ofEpochSecond(Double.valueOf(currentRow.get(2).getStringValue()).longValue());
+ assertTrue(parsedInstant.isAfter(Instant.now().minus(1, ChronoUnit.HOURS)));
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
// This test runs about 1 min.
@Test
public void testJsonStreamWriterWithMessagesOver10M()
diff --git a/google-cloud-bigquerystorage/src/test/proto/optionalTest.proto b/google-cloud-bigquerystorage/src/test/proto/optionalTest.proto
new file mode 100644
index 0000000000..41e13f05a3
--- /dev/null
+++ b/google-cloud-bigquerystorage/src/test/proto/optionalTest.proto
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2023 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+syntax = "proto3";
+
+package com.google.cloud.bigquery.storage.test;
+
+option java_package = "com.google.cloud.bigquery.storage.test";
+option java_outer_classname = "TestOptional";
+
+message FooOptionalType {
+ optional string foo = 1;
+}
+
diff --git a/google-cloud-bigquerystorage/src/test/proto/test.proto b/google-cloud-bigquerystorage/src/test/proto/test.proto
index 191f641f25..8b77a4eb47 100644
--- a/google-cloud-bigquerystorage/src/test/proto/test.proto
+++ b/google-cloud-bigquerystorage/src/test/proto/test.proto
@@ -50,6 +50,12 @@ message ComplicateType {
optional InnerType inner_type = 2;
}
+message SimpleTypeForDefaultValue {
+ optional string foo_with_default = 1;
+ optional string bar_without_default = 2;
+ optional string date_with_default_to_current = 3;
+}
+
message ContainsRecursive {
optional RecursiveType field = 1;
}
diff --git a/grpc-google-cloud-bigquerystorage-v1/pom.xml b/grpc-google-cloud-bigquerystorage-v1/pom.xml
index fa8bd333bb..5d37513ce5 100644
--- a/grpc-google-cloud-bigquerystorage-v1/pom.xml
+++ b/grpc-google-cloud-bigquerystorage-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-bigquerystorage-v1
- 2.44.1
+ 2.45.0
grpc-google-cloud-bigquerystorage-v1
GRPC library for grpc-google-cloud-bigquerystorage-v1
com.google.cloud
google-cloud-bigquerystorage-parent
- 2.44.1
+ 2.45.0
diff --git a/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml b/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml
index 46920323e4..d053b74565 100644
--- a/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml
+++ b/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-bigquerystorage-v1beta1
- 0.168.1
+ 0.169.0
grpc-google-cloud-bigquerystorage-v1beta1
GRPC library for grpc-google-cloud-bigquerystorage-v1beta1
com.google.cloud
google-cloud-bigquerystorage-parent
- 2.44.1
+ 2.45.0
diff --git a/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml b/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml
index 65c428c1ce..c478694810 100644
--- a/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml
+++ b/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-bigquerystorage-v1beta2
- 0.168.1
+ 0.169.0
grpc-google-cloud-bigquerystorage-v1beta2
GRPC library for grpc-google-cloud-bigquerystorage-v1beta2
com.google.cloud
google-cloud-bigquerystorage-parent
- 2.44.1
+ 2.45.0
diff --git a/pom.xml b/pom.xml
index 6f1c6d07b6..2b6d41cabf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud
google-cloud-bigquerystorage-parent
pom
- 2.44.1
+ 2.45.0
BigQuery Storage Parent
https://github.com/googleapis/java-bigquerystorage
@@ -14,7 +14,7 @@
com.google.cloud
google-cloud-shared-config
- 1.6.0
+ 1.6.1
@@ -52,7 +52,7 @@
UTF-8
UTF-8
- 3.14.0
+ 3.23.0
github
google-cloud-bigquerystorage-parent
@@ -76,44 +76,44 @@
com.google.cloud
google-cloud-shared-dependencies
- 3.18.0
+ 3.19.0
pom
import
com.google.api.grpc
proto-google-cloud-bigquerystorage-v1beta1
- 0.168.1
+ 0.169.0
com.google.api.grpc
proto-google-cloud-bigquerystorage-v1beta2
- 0.168.1
+ 0.169.0
com.google.api.grpc
proto-google-cloud-bigquerystorage-v1
- 2.44.1
+ 2.45.0
com.google.api.grpc
grpc-google-cloud-bigquerystorage-v1beta1
- 0.168.1
+ 0.169.0
com.google.api.grpc
grpc-google-cloud-bigquerystorage-v1beta2
- 0.168.1
+ 0.169.0
com.google.api.grpc
grpc-google-cloud-bigquerystorage-v1
- 2.44.1
+ 2.45.0
com.google.cloud
google-cloud-bigquerystorage
- 2.44.1
+ 2.45.0
org.json
@@ -132,7 +132,7 @@
com.google.cloud
google-cloud-bigquery
- 2.33.2
+ 2.34.1
test
diff --git a/proto-google-cloud-bigquerystorage-v1/pom.xml b/proto-google-cloud-bigquerystorage-v1/pom.xml
index 4eaac5a5dc..22b6c3a762 100644
--- a/proto-google-cloud-bigquerystorage-v1/pom.xml
+++ b/proto-google-cloud-bigquerystorage-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-bigquerystorage-v1
- 2.44.1
+ 2.45.0
proto-google-cloud-bigquerystorage-v1
PROTO library for proto-google-cloud-bigquerystorage-v1
com.google.cloud
google-cloud-bigquerystorage-parent
- 2.44.1
+ 2.45.0
diff --git a/proto-google-cloud-bigquerystorage-v1beta1/pom.xml b/proto-google-cloud-bigquerystorage-v1beta1/pom.xml
index 2fe5e7726d..8708ad369e 100644
--- a/proto-google-cloud-bigquerystorage-v1beta1/pom.xml
+++ b/proto-google-cloud-bigquerystorage-v1beta1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-bigquerystorage-v1beta1
- 0.168.1
+ 0.169.0
proto-google-cloud-bigquerystorage-v1beta1
PROTO library for proto-google-cloud-bigquerystorage-v1beta1
com.google.cloud
google-cloud-bigquerystorage-parent
- 2.44.1
+ 2.45.0
diff --git a/proto-google-cloud-bigquerystorage-v1beta2/pom.xml b/proto-google-cloud-bigquerystorage-v1beta2/pom.xml
index 92026a50b8..812063f999 100644
--- a/proto-google-cloud-bigquerystorage-v1beta2/pom.xml
+++ b/proto-google-cloud-bigquerystorage-v1beta2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-bigquerystorage-v1beta2
- 0.168.1
+ 0.169.0
proto-google-cloud-bigquerystorage-v1beta2
PROTO library for proto-google-cloud-bigquerystorage-v1beta2
com.google.cloud
google-cloud-bigquerystorage-parent
- 2.44.1
+ 2.45.0
diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml
index 3189abe3ab..1c4f999d69 100644
--- a/samples/install-without-bom/pom.xml
+++ b/samples/install-without-bom/pom.xml
@@ -30,14 +30,14 @@
com.google.cloud
google-cloud-bigquerystorage
- 2.44.0
+ 2.44.1
com.google.cloud
google-cloud-bigquery
- 2.33.2
+ 2.34.1
org.apache.avro
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index 235044d9e0..94192e6bf1 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -29,14 +29,14 @@
com.google.cloud
google-cloud-bigquerystorage
- 2.44.1
+ 2.45.0
com.google.cloud
google-cloud-bigquery
- 2.33.2
+ 2.34.1
org.apache.avro
diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml
index 10d6fc2ede..cd13145fa6 100644
--- a/samples/snippets/pom.xml
+++ b/samples/snippets/pom.xml
@@ -31,7 +31,7 @@
com.google.cloud
libraries-bom
- 26.25.0
+ 26.26.0
pom
import
@@ -48,7 +48,7 @@
com.google.cloud
google-cloud-bigquery
- 2.33.2
+ 2.34.1
org.apache.avro
diff --git a/tutorials/JsonWriterDefaultStream/pom.xml b/tutorials/JsonWriterDefaultStream/pom.xml
index 4ff05562e9..1c8a69db9a 100644
--- a/tutorials/JsonWriterDefaultStream/pom.xml
+++ b/tutorials/JsonWriterDefaultStream/pom.xml
@@ -19,12 +19,12 @@
com.google.cloud
google-cloud-bigquerystorage
- 2.44.0
+ 2.44.1
com.google.cloud
google-cloud-bigquery
- 2.33.2
+ 2.34.1
org.apache.avro
diff --git a/versions.txt b/versions.txt
index 331449da38..d44943a327 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,10 +1,10 @@
# Format:
# module:released-version:current-version
-google-cloud-bigquerystorage:2.44.1:2.44.1
-grpc-google-cloud-bigquerystorage-v1beta1:0.168.1:0.168.1
-grpc-google-cloud-bigquerystorage-v1beta2:0.168.1:0.168.1
-grpc-google-cloud-bigquerystorage-v1:2.44.1:2.44.1
-proto-google-cloud-bigquerystorage-v1beta1:0.168.1:0.168.1
-proto-google-cloud-bigquerystorage-v1beta2:0.168.1:0.168.1
-proto-google-cloud-bigquerystorage-v1:2.44.1:2.44.1
+google-cloud-bigquerystorage:2.45.0:2.45.0
+grpc-google-cloud-bigquerystorage-v1beta1:0.169.0:0.169.0
+grpc-google-cloud-bigquerystorage-v1beta2:0.169.0:0.169.0
+grpc-google-cloud-bigquerystorage-v1:2.45.0:2.45.0
+proto-google-cloud-bigquerystorage-v1beta1:0.169.0:0.169.0
+proto-google-cloud-bigquerystorage-v1beta2:0.169.0:0.169.0
+proto-google-cloud-bigquerystorage-v1:2.45.0:2.45.0