Skip to content

Commit 38f670f

Browse files
committed
minor(google_bigquery_table): resolved review comments
1 parent 937b666 commit 38f670f

File tree

2 files changed

+97
-79
lines changed

2 files changed

+97
-79
lines changed

mmv1/third_party/terraform/services/bigquery/resource_bigquery_table.go.tmpl

+23-5
Original file line numberDiff line numberDiff line change
@@ -1839,7 +1839,10 @@ func resourceBigQueryTableRead(d *schema.ResourceData, meta interface{}) error {
18391839
datasetID := d.Get("dataset_id").(string)
18401840
tableID := d.Get("table_id").(string)
18411841

1842-
tableMetadataView := d.Get("table_metadata_view").(string)
1842+
var tableMetadataView string
1843+
if tableMetadataViewRaw, ok := d.GetOk("table_metadata_view"); ok {
1844+
tableMetadataView = tableMetadataViewRaw.(string)
1845+
}
18431846

18441847
client := config.NewBigQueryClient(userAgent).Tables.Get(project, datasetID, tableID)
18451848
if len(tableMetadataView) > 0 {
@@ -2072,7 +2075,7 @@ type TableReference struct {
20722075

20732076
func resourceBigQueryTableUpdate(d *schema.ResourceData, meta interface{}) error {
20742077
// If only client-side fields were modified, short-circuit the Update function to avoid sending an update API request.
2075-
clientSideFields := map[string]bool{"deletion_protection": true}
2078+
clientSideFields := map[string]bool{"deletion_protection": true, "table_metadata_view": true}
20762079
clientSideOnly := true
20772080
for field := range ResourceBigQueryTable().Schema {
20782081
if d.HasChange(field) && !clientSideFields[field] {
@@ -2109,14 +2112,18 @@ func resourceBigQueryTableUpdate(d *schema.ResourceData, meta interface{}) error
21092112

21102113
datasetID := d.Get("dataset_id").(string)
21112114
tableID := d.Get("table_id").(string)
2115+
var tableMetadataView string
2116+
if tableMetadataViewRaw, ok := d.GetOk("table_metadata_view"); ok {
2117+
tableMetadataView = tableMetadataViewRaw.(string)
2118+
}
21122119

21132120
tableReference := &TableReference{
21142121
project: project,
21152122
datasetID: datasetID,
21162123
tableID: tableID,
21172124
}
21182125

2119-
if err = resourceBigQueryTableColumnDrop(config, userAgent, table, tableReference); err != nil {
2126+
if err = resourceBigQueryTableColumnDrop(config, userAgent, table, tableReference, tableMetadataView); err != nil {
21202127
return err
21212128
}
21222129

@@ -2127,8 +2134,13 @@ func resourceBigQueryTableUpdate(d *schema.ResourceData, meta interface{}) error
21272134
return resourceBigQueryTableRead(d, meta)
21282135
}
21292136

2130-
func resourceBigQueryTableColumnDrop(config *transport_tpg.Config, userAgent string, table *bigquery.Table, tableReference *TableReference) error {
2131-
oldTable, err := config.NewBigQueryClient(userAgent).Tables.Get(tableReference.project, tableReference.datasetID, tableReference.tableID).Do()
2137+
func resourceBigQueryTableColumnDrop(config *transport_tpg.Config, userAgent string, table *bigquery.Table, tableReference *TableReference, tableMetadataView string) error {
2138+
client := config.NewBigQueryClient(userAgent).Tables.Get(tableReference.project, tableReference.datasetID, tableReference.tableID)
2139+
if len(tableMetadataView) > 0 {
2140+
client = client.View(tableMetadataView)
2141+
}
2142+
oldTable, err := client.Do()
2143+
21322144
if err != nil {
21332145
return err
21342146
}
@@ -3394,6 +3406,12 @@ func resourceBigQueryTableImport(d *schema.ResourceData, meta interface{}) ([]*s
33943406
return nil, fmt.Errorf("Error setting deletion_protection: %s", err)
33953407
}
33963408

3409+
// The default for `table_metadata_view` is "STORAGE_STATS" for the API.
3410+
// We don't need extra storage stats during import.
3411+
if err := d.Set("table_metadata_view", "BASIC"); err != nil {
3412+
return nil, fmt.Errorf("Error setting table_metadata_view: %s", err)
3413+
}
3414+
33973415
// Replace import id for the resource id
33983416
id, err := tpgresource.ReplaceVars(d, config, "projects/{{"{{"}}project{{"}}"}}/datasets/{{"{{"}}dataset_id{{"}}"}}/tables/{{"{{"}}table_id{{"}}"}}")
33993417
if err != nil {

0 commit comments

Comments
 (0)