diff --git a/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/StreamWriter.java b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/StreamWriter.java index e7107785df..7a944e70b1 100644 --- a/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/StreamWriter.java +++ b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/StreamWriter.java @@ -560,6 +560,11 @@ public static void setMaxRequestCallbackWaitTime(Duration waitTime) { ConnectionWorker.MAXIMUM_REQUEST_CALLBACK_WAIT_TIME = waitTime; } + /** @return the default stream name associated with tableName */ + public static String getDefaultStreamName(TableName tableName) { + return tableName + defaultStreamMatching; + } + long getCreationTimestamp() { return creationTimestamp; } diff --git a/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/StreamWriterTest.java b/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/StreamWriterTest.java index d134f95841..2ded205822 100644 --- a/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/StreamWriterTest.java +++ b/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/StreamWriterTest.java @@ -2224,4 +2224,14 @@ public void testExclusiveAppendSuccessAndNonRetryableError() throws Exception { Status.Code.INVALID_ARGUMENT, ((StatusRuntimeException) ex.getCause()).getStatus().getCode()); } + + @Test + public void testGetDefaultStreamName() { + TableName tableName = TableName.of("projectId", "datasetId", "tableId"); + + String actualDefaultName = StreamWriter.getDefaultStreamName(tableName); + + assertEquals( + "projects/projectId/datasets/datasetId/tables/tableId/_default", actualDefaultName); + } }