|
49 | 49 | import com.google.cloud.bigquery.BigQuery.JobListOption;
|
50 | 50 | import com.google.cloud.bigquery.BigQuery.JobOption;
|
51 | 51 | import com.google.cloud.bigquery.BigQuery.TableField;
|
| 52 | +import com.google.cloud.bigquery.BigQuery.TableMetadataView; |
52 | 53 | import com.google.cloud.bigquery.BigQuery.TableOption;
|
53 | 54 | import com.google.cloud.bigquery.BigQueryDryRunResult;
|
54 | 55 | import com.google.cloud.bigquery.BigQueryError;
|
@@ -1549,6 +1550,133 @@ public void testCreateAndGetTable() {
|
1549 | 1550 | assertTrue(remoteTable.delete());
|
1550 | 1551 | }
|
1551 | 1552 |
|
| 1553 | + @Test |
| 1554 | + public void testCreateAndGetTableWithBasicTableMetadataView() { |
| 1555 | + String tableName = "test_create_and_get_table_with_basic_metadata_view"; |
| 1556 | + TableId tableId = TableId.of(DATASET, tableName); |
| 1557 | + TimePartitioning partitioning = TimePartitioning.of(Type.DAY); |
| 1558 | + Clustering clustering = |
| 1559 | + Clustering.newBuilder().setFields(ImmutableList.of(STRING_FIELD_SCHEMA.getName())).build(); |
| 1560 | + StandardTableDefinition tableDefinition = |
| 1561 | + StandardTableDefinition.newBuilder() |
| 1562 | + .setSchema(TABLE_SCHEMA) |
| 1563 | + .setTimePartitioning(partitioning) |
| 1564 | + .setClustering(clustering) |
| 1565 | + .build(); |
| 1566 | + Table createdTable = bigquery.create(TableInfo.of(tableId, tableDefinition)); |
| 1567 | + assertNotNull(createdTable); |
| 1568 | + assertEquals(DATASET, createdTable.getTableId().getDataset()); |
| 1569 | + assertEquals(tableName, createdTable.getTableId().getTable()); |
| 1570 | + TableOption tableOption = BigQuery.TableOption.tableMetadataView(TableMetadataView.BASIC); |
| 1571 | + Table remoteTable = bigquery.getTable(DATASET, tableName, tableOption); |
| 1572 | + assertNotNull(remoteTable); |
| 1573 | + assertTrue(remoteTable.getDefinition() instanceof StandardTableDefinition); |
| 1574 | + assertEquals(createdTable.getTableId(), remoteTable.getTableId()); |
| 1575 | + assertEquals(TableDefinition.Type.TABLE, remoteTable.getDefinition().getType()); |
| 1576 | + assertEquals(TABLE_SCHEMA, remoteTable.getDefinition().getSchema()); |
| 1577 | + // Next four values are considered transient fields that should not be calculated |
| 1578 | + assertNull(remoteTable.getLastModifiedTime()); |
| 1579 | + assertNull(remoteTable.<StandardTableDefinition>getDefinition().getNumBytes()); |
| 1580 | + assertNull(remoteTable.<StandardTableDefinition>getDefinition().getNumLongTermBytes()); |
| 1581 | + assertNull(remoteTable.<StandardTableDefinition>getDefinition().getNumRows()); |
| 1582 | + assertTrue(remoteTable.delete()); |
| 1583 | + } |
| 1584 | + |
| 1585 | + @Test |
| 1586 | + public void testCreateAndGetTableWithFullTableMetadataView() { |
| 1587 | + String tableName = "test_create_and_get_table_with_full_metadata_view"; |
| 1588 | + TableId tableId = TableId.of(DATASET, tableName); |
| 1589 | + TimePartitioning partitioning = TimePartitioning.of(Type.DAY); |
| 1590 | + Clustering clustering = |
| 1591 | + Clustering.newBuilder().setFields(ImmutableList.of(STRING_FIELD_SCHEMA.getName())).build(); |
| 1592 | + StandardTableDefinition tableDefinition = |
| 1593 | + StandardTableDefinition.newBuilder() |
| 1594 | + .setSchema(TABLE_SCHEMA) |
| 1595 | + .setTimePartitioning(partitioning) |
| 1596 | + .setClustering(clustering) |
| 1597 | + .build(); |
| 1598 | + Table createdTable = bigquery.create(TableInfo.of(tableId, tableDefinition)); |
| 1599 | + assertNotNull(createdTable); |
| 1600 | + assertEquals(DATASET, createdTable.getTableId().getDataset()); |
| 1601 | + assertEquals(tableName, createdTable.getTableId().getTable()); |
| 1602 | + TableOption tableOption = BigQuery.TableOption.tableMetadataView(TableMetadataView.FULL); |
| 1603 | + Table remoteTable = bigquery.getTable(DATASET, tableName, tableOption); |
| 1604 | + assertNotNull(remoteTable); |
| 1605 | + assertTrue(remoteTable.getDefinition() instanceof StandardTableDefinition); |
| 1606 | + assertEquals(createdTable.getTableId(), remoteTable.getTableId()); |
| 1607 | + assertEquals(TableDefinition.Type.TABLE, remoteTable.getDefinition().getType()); |
| 1608 | + assertEquals(TABLE_SCHEMA, remoteTable.getDefinition().getSchema()); |
| 1609 | + assertNotNull(remoteTable.getLastModifiedTime()); |
| 1610 | + assertNotNull(remoteTable.<StandardTableDefinition>getDefinition().getNumBytes()); |
| 1611 | + assertNotNull(remoteTable.<StandardTableDefinition>getDefinition().getNumLongTermBytes()); |
| 1612 | + assertNotNull(remoteTable.<StandardTableDefinition>getDefinition().getNumRows()); |
| 1613 | + assertTrue(remoteTable.delete()); |
| 1614 | + } |
| 1615 | + |
| 1616 | + @Test |
| 1617 | + public void testCreateAndGetTableWithStorageStatsTableMetadataView() { |
| 1618 | + String tableName = "test_create_and_get_table_with_storage_stats_metadata_view"; |
| 1619 | + TableId tableId = TableId.of(DATASET, tableName); |
| 1620 | + TimePartitioning partitioning = TimePartitioning.of(Type.DAY); |
| 1621 | + Clustering clustering = |
| 1622 | + Clustering.newBuilder().setFields(ImmutableList.of(STRING_FIELD_SCHEMA.getName())).build(); |
| 1623 | + StandardTableDefinition tableDefinition = |
| 1624 | + StandardTableDefinition.newBuilder() |
| 1625 | + .setSchema(TABLE_SCHEMA) |
| 1626 | + .setTimePartitioning(partitioning) |
| 1627 | + .setClustering(clustering) |
| 1628 | + .build(); |
| 1629 | + Table createdTable = bigquery.create(TableInfo.of(tableId, tableDefinition)); |
| 1630 | + assertNotNull(createdTable); |
| 1631 | + assertEquals(DATASET, createdTable.getTableId().getDataset()); |
| 1632 | + assertEquals(tableName, createdTable.getTableId().getTable()); |
| 1633 | + TableOption tableOption = |
| 1634 | + BigQuery.TableOption.tableMetadataView(TableMetadataView.STORAGE_STATS); |
| 1635 | + Table remoteTable = bigquery.getTable(DATASET, tableName, tableOption); |
| 1636 | + assertNotNull(remoteTable); |
| 1637 | + assertTrue(remoteTable.getDefinition() instanceof StandardTableDefinition); |
| 1638 | + assertEquals(createdTable.getTableId(), remoteTable.getTableId()); |
| 1639 | + assertEquals(TableDefinition.Type.TABLE, remoteTable.getDefinition().getType()); |
| 1640 | + assertEquals(TABLE_SCHEMA, remoteTable.getDefinition().getSchema()); |
| 1641 | + assertNotNull(remoteTable.getLastModifiedTime()); |
| 1642 | + assertNotNull(remoteTable.<StandardTableDefinition>getDefinition().getNumBytes()); |
| 1643 | + assertNotNull(remoteTable.<StandardTableDefinition>getDefinition().getNumLongTermBytes()); |
| 1644 | + assertNotNull(remoteTable.<StandardTableDefinition>getDefinition().getNumRows()); |
| 1645 | + assertTrue(remoteTable.delete()); |
| 1646 | + } |
| 1647 | + |
| 1648 | + @Test |
| 1649 | + public void testCreateAndGetTableWithUnspecifiedTableMetadataView() { |
| 1650 | + String tableName = "test_create_and_get_table_with_unspecified_metadata_view"; |
| 1651 | + TableId tableId = TableId.of(DATASET, tableName); |
| 1652 | + TimePartitioning partitioning = TimePartitioning.of(Type.DAY); |
| 1653 | + Clustering clustering = |
| 1654 | + Clustering.newBuilder().setFields(ImmutableList.of(STRING_FIELD_SCHEMA.getName())).build(); |
| 1655 | + StandardTableDefinition tableDefinition = |
| 1656 | + StandardTableDefinition.newBuilder() |
| 1657 | + .setSchema(TABLE_SCHEMA) |
| 1658 | + .setTimePartitioning(partitioning) |
| 1659 | + .setClustering(clustering) |
| 1660 | + .build(); |
| 1661 | + Table createdTable = bigquery.create(TableInfo.of(tableId, tableDefinition)); |
| 1662 | + assertNotNull(createdTable); |
| 1663 | + assertEquals(DATASET, createdTable.getTableId().getDataset()); |
| 1664 | + assertEquals(tableName, createdTable.getTableId().getTable()); |
| 1665 | + TableOption tableOption = |
| 1666 | + BigQuery.TableOption.tableMetadataView(TableMetadataView.TABLE_METADATA_VIEW_UNSPECIFIED); |
| 1667 | + Table remoteTable = bigquery.getTable(DATASET, tableName, tableOption); |
| 1668 | + assertNotNull(remoteTable); |
| 1669 | + assertTrue(remoteTable.getDefinition() instanceof StandardTableDefinition); |
| 1670 | + assertEquals(createdTable.getTableId(), remoteTable.getTableId()); |
| 1671 | + assertEquals(TableDefinition.Type.TABLE, remoteTable.getDefinition().getType()); |
| 1672 | + assertEquals(TABLE_SCHEMA, remoteTable.getDefinition().getSchema()); |
| 1673 | + assertNotNull(remoteTable.getLastModifiedTime()); |
| 1674 | + assertNotNull(remoteTable.<StandardTableDefinition>getDefinition().getNumBytes()); |
| 1675 | + assertNotNull(remoteTable.<StandardTableDefinition>getDefinition().getNumLongTermBytes()); |
| 1676 | + assertNotNull(remoteTable.<StandardTableDefinition>getDefinition().getNumRows()); |
| 1677 | + assertTrue(remoteTable.delete()); |
| 1678 | + } |
| 1679 | + |
1552 | 1680 | @Test
|
1553 | 1681 | public void testCreateAndGetTableWithSelectedField() {
|
1554 | 1682 | String tableName = "test_create_and_get_selected_fields_table";
|
|
0 commit comments