diff --git a/spanner/spansql/sql.go b/spanner/spansql/sql.go index c7c03898f40..1ace18bdbbf 100644 --- a/spanner/spansql/sql.go +++ b/spanner/spansql/sql.go @@ -185,16 +185,15 @@ func (do DatabaseOptions) SQL() string { hasOpt = true if *do.OptimizerVersion == 0 { str += "optimizer_version=null" - } else { str += fmt.Sprintf("optimizer_version=%v", *do.OptimizerVersion) } } if do.VersionRetentionPeriod != nil { - hasOpt = true if hasOpt { str += ", " } + hasOpt = true if *do.VersionRetentionPeriod == "" { str += "version_retention_period=null" } else { @@ -202,10 +201,10 @@ func (do DatabaseOptions) SQL() string { } } if do.EnableKeyVisualizer != nil { - hasOpt = true if hasOpt { str += ", " } + hasOpt = true if *do.EnableKeyVisualizer { str += "enable_key_visualizer=true" } else { diff --git a/spanner/spansql/sql_test.go b/spanner/spansql/sql_test.go index ddf6190c9ca..dc26d520273 100644 --- a/spanner/spansql/sql_test.go +++ b/spanner/spansql/sql_test.go @@ -288,6 +288,28 @@ func TestSQL(t *testing.T) { "ALTER TABLE WithRowDeletionPolicy REPLACE ROW DELETION POLICY ( OLDER_THAN ( DelTimestamp, INTERVAL 30 DAY ))", reparseDDL, }, + { + &AlterDatabase{ + Name: "dbname", + Alteration: SetDatabaseOptions{Options: DatabaseOptions{ + EnableKeyVisualizer: func(b bool) *bool { return &b }(true), + }}, + Position: line(1), + }, + "ALTER DATABASE dbname SET OPTIONS (enable_key_visualizer=true)", + reparseDDL, + }, + { + &AlterDatabase{ + Name: "dbname", + Alteration: SetDatabaseOptions{Options: DatabaseOptions{ + OptimizerVersion: func(i int) *int { return &i }(2), + }}, + Position: line(1), + }, + "ALTER DATABASE dbname SET OPTIONS (optimizer_version=2)", + reparseDDL, + }, { &AlterDatabase{ Name: "dbname",