Skip to content

Commit a09c86e

Browse files
shoumojiDave Karwowski
authored and
Dave Karwowski
committed
Fix error drop column with BigQuery flexible column names (GoogleCloudPlatform#12626)
Signed-off-by: kataoka-ayumu <[email protected]>
1 parent a51a86f commit a09c86e

File tree

2 files changed

+19
-7
lines changed

2 files changed

+19
-7
lines changed

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

+5-1
Original file line numberDiff line numberDiff line change
@@ -2084,7 +2084,11 @@ func resourceBigQueryTableColumnDrop(config *transport_tpg.Config, userAgent str
20842084
}
20852085

20862086
if len(droppedColumns) > 0 {
2087-
droppedColumnsString := strings.Join(droppedColumns, ", DROP COLUMN ")
2087+
backquotedDroppedColumns := []string{}
2088+
for _, column := range droppedColumns {
2089+
backquotedDroppedColumns = append(backquotedDroppedColumns, fmt.Sprintf("`%s`", column))
2090+
}
2091+
droppedColumnsString := strings.Join(backquotedDroppedColumns, ", DROP COLUMN ")
20882092

20892093
dropColumnsDDL := fmt.Sprintf("ALTER TABLE `%s.%s.%s` DROP COLUMN %s", tableReference.project, tableReference.datasetID, tableReference.tableID, droppedColumnsString)
20902094
log.Printf("[INFO] Dropping columns in-place: %s", dropColumnsDDL)

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

+14-6
Original file line numberDiff line numberDiff line change
@@ -413,9 +413,9 @@ func testAccBigLakeManagedTable(bucketName, connectionID, datasetID, tableID, sc
413413
file_format = "PARQUET"
414414
table_format = "ICEBERG"
415415
}
416-
416+
417417
schema = jsonencode(%s)
418-
418+
419419
depends_on = [
420420
google_project_iam_member.test
421421
]
@@ -2200,6 +2200,14 @@ resource "google_bigquery_table" "test" {
22002200
{
22012201
"name": "some_int",
22022202
"type": "INTEGER"
2203+
},
2204+
{
2205+
"name": "reserved_word_for",
2206+
"type": "STRING"
2207+
},
2208+
{
2209+
"name": "flexible-column-name-dash",
2210+
"type": "STRING"
22032211
}
22042212
]
22052213
EOH
@@ -3108,7 +3116,7 @@ resource "google_bigquery_table" "test" {
31083116
# Depends on Iceberg Table Files
31093117
depends_on = [
31103118
google_storage_bucket_object.empty_data_folder,
3111-
google_storage_bucket_object.metadata,
3119+
google_storage_bucket_object.metadata,
31123120
]
31133121
}
31143122
`, datasetID, bucketName, tableID)
@@ -3136,7 +3144,7 @@ resource "google_storage_bucket_object" "datafile" {
31363144

31373145
# Upload Metadata file
31383146
resource "google_storage_bucket_object" "manifest" {
3139-
name = "%s"
3147+
name = "%s"
31403148
content = "gs://${google_storage_bucket.test.name}/${google_storage_bucket_object.datafile.name}"
31413149
bucket = google_storage_bucket.test.name
31423150
}
@@ -4588,7 +4596,7 @@ resource "google_bigquery_table" "test" {
45884596
]
45894597
EOF
45904598

4591-
external_catalog_table_options {
4599+
external_catalog_table_options {
45924600
parameters = {
45934601
owner = "hashicorp-terraform"
45944602
}
@@ -4643,7 +4651,7 @@ resource "google_bigquery_table" "test" {
46434651
]
46444652
EOF
46454653

4646-
external_catalog_table_options {
4654+
external_catalog_table_options {
46474655
parameters = {
46484656
owner = "hashicorp-terraform-updated"
46494657
}

0 commit comments

Comments
 (0)