Skip to content

Commit d3eb03a

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

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

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

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public abstract static class Builder {
5454
*
5555
* @param tableReference tableReference or {@code null} for none
5656
*/
57-
public abstract Builder setBaseTable(TableReference tableReference);
57+
public abstract Builder setBaseTable(TableId tableReference);
5858

5959
/** Creates a @code IndexUnusedReason} object. */
6060
public abstract IndexUnusedReason build();
@@ -96,7 +96,7 @@ public static Builder newBuilder() {
9696
* @return value or {@code null} for none
9797
*/
9898
@Nullable
99-
public abstract TableReference getBaseTable();
99+
public abstract TableId getBaseTable();
100100

101101
com.google.api.services.bigquery.model.IndexUnusedReason toPb() {
102102
com.google.api.services.bigquery.model.IndexUnusedReason indexUnusedReason =
@@ -110,8 +110,9 @@ com.google.api.services.bigquery.model.IndexUnusedReason toPb() {
110110
if (getMessage() != null) {
111111
indexUnusedReason.setMessage(indexUnusedReason.getMessage());
112112
}
113+
// From other examples i can see TableId.tbPb() for Base table in CloneDefinition
113114
if (getBaseTable() != null) {
114-
indexUnusedReason.setBaseTable(indexUnusedReason.getBaseTable());
115+
indexUnusedReason.setBaseTable(getBaseTable().toPb());
115116
}
116117
return indexUnusedReason;
117118
}
@@ -129,7 +130,7 @@ static IndexUnusedReason fromPb(
129130
builder.setMessage(indexUnusedReason.getMessage());
130131
}
131132
if (indexUnusedReason.getBaseTable() != null) {
132-
builder.setBaseTable(indexUnusedReason.getBaseTable());
133+
builder.setBaseTable(TableId.fromPb(indexUnusedReason.getBaseTable()));
133134
}
134135
return builder.build();
135136
}

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)