Skip to content

Commit beb6c64

Browse files
committed
fix: SearchStats IndexUnusedReasons null bug
1 parent eb250a8 commit beb6c64

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/IndexUnusedReason.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package com.google.cloud.bigquery;
1818

19-
import com.google.api.services.bigquery.model.TableReference;
2019
import com.google.auto.value.AutoValue;
2120
import java.io.Serializable;
2221
import javax.annotation.Nullable;
@@ -54,7 +53,7 @@ public abstract static class Builder {
5453
*
5554
* @param tableReference tableReference or {@code null} for none
5655
*/
57-
public abstract Builder setBaseTable(TableReference tableReference);
56+
public abstract Builder setBaseTable(TableId tableReference);
5857

5958
/** Creates a @code IndexUnusedReason} object. */
6059
public abstract IndexUnusedReason build();
@@ -96,7 +95,7 @@ public static Builder newBuilder() {
9695
* @return value or {@code null} for none
9796
*/
9897
@Nullable
99-
public abstract TableReference getBaseTable();
98+
public abstract TableId getBaseTable();
10099

101100
com.google.api.services.bigquery.model.IndexUnusedReason toPb() {
102101
com.google.api.services.bigquery.model.IndexUnusedReason indexUnusedReason =
@@ -110,8 +109,9 @@ com.google.api.services.bigquery.model.IndexUnusedReason toPb() {
110109
if (getMessage() != null) {
111110
indexUnusedReason.setMessage(indexUnusedReason.getMessage());
112111
}
112+
// From other examples i can see TableId.tbPb() for Base table in CloneDefinition
113113
if (getBaseTable() != null) {
114-
indexUnusedReason.setBaseTable(indexUnusedReason.getBaseTable());
114+
indexUnusedReason.setBaseTable(getBaseTable().toPb());
115115
}
116116
return indexUnusedReason;
117117
}
@@ -129,7 +129,7 @@ static IndexUnusedReason fromPb(
129129
builder.setMessage(indexUnusedReason.getMessage());
130130
}
131131
if (indexUnusedReason.getBaseTable() != null) {
132-
builder.setBaseTable(indexUnusedReason.getBaseTable());
132+
builder.setBaseTable(TableId.fromPb(indexUnusedReason.getBaseTable()));
133133
}
134134
return builder.build();
135135
}

google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/it/ITBigQueryTest.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5090,7 +5090,7 @@ public void testQueryJobWithLabels() throws InterruptedException, TimeoutExcepti
50905090
}
50915091

50925092
@Test
5093-
public void testQueryJobWithSearchReturnsSearchStatistics() throws InterruptedException {
5093+
public void testQueryJobWithSearchReturnsSearchStatisticsUnused() throws InterruptedException {
50945094
String tableName = "test_query_job_table";
50955095
String query =
50965096
"SELECT * FROM "
@@ -5109,6 +5109,11 @@ public void testQueryJobWithSearchReturnsSearchStatistics() throws InterruptedEx
51095109
JobStatistics.QueryStatistics stats = remoteJob.getStatistics();
51105110
assertNotNull(stats.getSearchStats());
51115111
assertEquals(stats.getSearchStats().getIndexUsageMode(), "UNUSED");
5112+
5113+
System.out.println("Penguins");
5114+
System.out.println(stats.getSearchStats().getIndexUnusedReasons());
5115+
System.out.println("Horses");
5116+
51125117
} finally {
51135118
bigquery.delete(destinationTable);
51145119
}

0 commit comments

Comments
 (0)