Skip to content

Commit 5d52bc9

Browse files
authored
fix: add clustering value to ListTables result (#3359)
1 parent b8c17bf commit 5d52bc9

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpc.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,8 @@ public Table apply(TableList.Tables tablePb) {
364364
.setType(tablePb.getType())
365365
.setCreationTime(tablePb.getCreationTime())
366366
.setTimePartitioning(tablePb.getTimePartitioning())
367-
.setRangePartitioning(tablePb.getRangePartitioning());
367+
.setRangePartitioning(tablePb.getRangePartitioning())
368+
.setClustering(tablePb.getClustering());
368369
}
369370
}));
370371
} catch (IOException ex) {

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

+35
Original file line numberDiff line numberDiff line change
@@ -1903,6 +1903,41 @@ public void testCreateAndGetTable() {
19031903
assertTrue(remoteTable.delete());
19041904
}
19051905

1906+
@Test
1907+
public void testCreateAndListTable() {
1908+
String tableName = "test_create_and_list_table";
1909+
TableId tableId = TableId.of(DATASET, tableName);
1910+
TimePartitioning partitioning = TimePartitioning.of(Type.DAY);
1911+
Clustering clustering =
1912+
Clustering.newBuilder().setFields(ImmutableList.of(STRING_FIELD_SCHEMA.getName())).build();
1913+
StandardTableDefinition tableDefinition =
1914+
StandardTableDefinition.newBuilder()
1915+
.setSchema(TABLE_SCHEMA)
1916+
.setTimePartitioning(partitioning)
1917+
.setClustering(clustering)
1918+
.build();
1919+
Table createdTable = bigquery.create(TableInfo.of(tableId, tableDefinition));
1920+
assertNotNull(createdTable);
1921+
assertEquals(DATASET, createdTable.getTableId().getDataset());
1922+
assertEquals(tableName, createdTable.getTableId().getTable());
1923+
1924+
Page<Table> tables = bigquery.listTables(DATASET);
1925+
boolean found = false;
1926+
Iterator<Table> tableIterator = tables.getValues().iterator();
1927+
// Find createdTable and validate the table definition.
1928+
while (tableIterator.hasNext() && !found) {
1929+
Table table = tableIterator.next();
1930+
if (table.getTableId().equals(createdTable.getTableId())) {
1931+
StandardTableDefinition definition = table.getDefinition();
1932+
assertThat(definition.getClustering()).isNotNull();
1933+
assertThat(definition.getTimePartitioning()).isNotNull();
1934+
found = true;
1935+
}
1936+
}
1937+
assertTrue(found);
1938+
assertTrue(createdTable.delete());
1939+
}
1940+
19061941
@Test
19071942
public void testCreateAndGetTableWithBasicTableMetadataView() {
19081943
String tableName = "test_create_and_get_table_with_basic_metadata_view";

0 commit comments

Comments
 (0)