Skip to content

Commit 1381fcb

Browse files
Fix error drop column with BigQuery flexible column names (#12626) (#8982)
[upstream:102794ac7dd5df142dd4d362c034670b0a5604ff] Signed-off-by: Modular Magician <[email protected]>
1 parent f16ba81 commit 1381fcb

File tree

3 files changed

+22
-7
lines changed

3 files changed

+22
-7
lines changed

.changelog/12626.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
bigquery: fixed DROP COLUMN error with bigquery flexible column names in `google_bigquery_table`
3+
```

google-beta/services/bigquery/resource_bigquery_table.go

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

20782078
if len(droppedColumns) > 0 {
2079-
droppedColumnsString := strings.Join(droppedColumns, ", DROP COLUMN ")
2079+
backquotedDroppedColumns := []string{}
2080+
for _, column := range droppedColumns {
2081+
backquotedDroppedColumns = append(backquotedDroppedColumns, fmt.Sprintf("`%s`", column))
2082+
}
2083+
droppedColumnsString := strings.Join(backquotedDroppedColumns, ", DROP COLUMN ")
20802084

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

google-beta/services/bigquery/resource_bigquery_table_test.go

+14-6
Original file line numberDiff line numberDiff line change
@@ -415,9 +415,9 @@ func testAccBigLakeManagedTable(bucketName, connectionID, datasetID, tableID, sc
415415
file_format = "PARQUET"
416416
table_format = "ICEBERG"
417417
}
418-
418+
419419
schema = jsonencode(%s)
420-
420+
421421
depends_on = [
422422
google_project_iam_member.test
423423
]
@@ -2198,6 +2198,14 @@ resource "google_bigquery_table" "test" {
21982198
{
21992199
"name": "some_int",
22002200
"type": "INTEGER"
2201+
},
2202+
{
2203+
"name": "reserved_word_for",
2204+
"type": "STRING"
2205+
},
2206+
{
2207+
"name": "flexible-column-name-dash",
2208+
"type": "STRING"
22012209
}
22022210
]
22032211
EOH
@@ -3106,7 +3114,7 @@ resource "google_bigquery_table" "test" {
31063114
# Depends on Iceberg Table Files
31073115
depends_on = [
31083116
google_storage_bucket_object.empty_data_folder,
3109-
google_storage_bucket_object.metadata,
3117+
google_storage_bucket_object.metadata,
31103118
]
31113119
}
31123120
`, datasetID, bucketName, tableID)
@@ -3134,7 +3142,7 @@ resource "google_storage_bucket_object" "datafile" {
31343142
31353143
# Upload Metadata file
31363144
resource "google_storage_bucket_object" "manifest" {
3137-
name = "%s"
3145+
name = "%s"
31383146
content = "gs://${google_storage_bucket.test.name}/${google_storage_bucket_object.datafile.name}"
31393147
bucket = google_storage_bucket.test.name
31403148
}
@@ -4584,7 +4592,7 @@ resource "google_bigquery_table" "test" {
45844592
]
45854593
EOF
45864594
4587-
external_catalog_table_options {
4595+
external_catalog_table_options {
45884596
parameters = {
45894597
owner = "hashicorp-terraform"
45904598
}
@@ -4639,7 +4647,7 @@ resource "google_bigquery_table" "test" {
46394647
]
46404648
EOF
46414649
4642-
external_catalog_table_options {
4650+
external_catalog_table_options {
46434651
parameters = {
46444652
owner = "hashicorp-terraform-updated"
46454653
}

0 commit comments

Comments
 (0)