Skip to content

Commit dd86703

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

File tree

3 files changed

+20
-5
lines changed

3 files changed

+20
-5
lines changed

.changelog/12626.txt

Lines changed: 3 additions & 0 deletions
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/services/bigquery/resource_bigquery_table.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1982,7 +1982,11 @@ func resourceBigQueryTableColumnDrop(config *transport_tpg.Config, userAgent str
19821982
}
19831983

19841984
if len(droppedColumns) > 0 {
1985-
droppedColumnsString := strings.Join(droppedColumns, ", DROP COLUMN ")
1985+
backquotedDroppedColumns := []string{}
1986+
for _, column := range droppedColumns {
1987+
backquotedDroppedColumns = append(backquotedDroppedColumns, fmt.Sprintf("`%s`", column))
1988+
}
1989+
droppedColumnsString := strings.Join(backquotedDroppedColumns, ", DROP COLUMN ")
19861990

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

google/services/bigquery/resource_bigquery_table_test.go

Lines changed: 12 additions & 4 deletions
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
]
@@ -2162,6 +2162,14 @@ resource "google_bigquery_table" "test" {
21622162
{
21632163
"name": "some_int",
21642164
"type": "INTEGER"
2165+
},
2166+
{
2167+
"name": "reserved_word_for",
2168+
"type": "STRING"
2169+
},
2170+
{
2171+
"name": "flexible-column-name-dash",
2172+
"type": "STRING"
21652173
}
21662174
]
21672175
EOH
@@ -3070,7 +3078,7 @@ resource "google_bigquery_table" "test" {
30703078
# Depends on Iceberg Table Files
30713079
depends_on = [
30723080
google_storage_bucket_object.empty_data_folder,
3073-
google_storage_bucket_object.metadata,
3081+
google_storage_bucket_object.metadata,
30743082
]
30753083
}
30763084
`, datasetID, bucketName, tableID)
@@ -3098,7 +3106,7 @@ resource "google_storage_bucket_object" "datafile" {
30983106
30993107
# Upload Metadata file
31003108
resource "google_storage_bucket_object" "manifest" {
3101-
name = "%s"
3109+
name = "%s"
31023110
content = "gs://${google_storage_bucket.test.name}/${google_storage_bucket_object.datafile.name}"
31033111
bucket = google_storage_bucket.test.name
31043112
}

0 commit comments

Comments
 (0)