@@ -7,10 +7,8 @@ import (
77 "fmt"
88 "math/rand"
99
10- _ "github.com/go-sql-driver/mysql"
1110 md "github.com/go-sql-driver/mysql"
1211 "github.com/lib/pq"
13- _ "github.com/lib/pq"
1412
1513 "sigs.k8s.io/controller-runtime/pkg/log"
1614)
@@ -117,7 +115,8 @@ func (ri *RelationalDatabaseImpl) Ping(ctx context.Context, dsn string, dbType s
117115 }
118116
119117 if err := db .PingContext (ctx ); err != nil {
120- if dbType == mysql {
118+ switch dbType {
119+ case mysql :
121120 var driverErr * md.MySQLError
122121 if errors .As (err , & driverErr ) {
123122 switch driverErr .Number {
@@ -129,7 +128,7 @@ func (ri *RelationalDatabaseImpl) Ping(ctx context.Context, dsn string, dbType s
129128 return fmt .Errorf ("failed to ping %s database: %w" , dbType , err )
130129 }
131130 }
132- } else if dbType == postgres {
131+ case postgres :
133132 var driverErr * pq.Error
134133 if errors .As (err , & driverErr ) {
135134 switch driverErr .Code {
@@ -175,17 +174,18 @@ func (ri *RelationalDatabaseImpl) Load(ctx context.Context, dsn string, dbType s
175174 }
176175
177176 var totalLoad float64
178- if dbType == mysql {
177+ switch dbType {
178+ case mysql :
179179 err = db .QueryRowContext (ctx , "SELECT data_length + index_length FROM information_schema.tables" ).Scan (& totalLoad )
180180 if err != nil {
181181 return 0 , fmt .Errorf ("load failed to get %s database load: %w" , dbType , err )
182182 }
183- } else if dbType == postgres {
183+ case postgres :
184184 err = db .QueryRowContext (ctx , "SELECT pg_database_size(current_database())" ).Scan (& totalLoad )
185185 if err != nil {
186186 return 0 , fmt .Errorf ("load failed to get %s database load: %w" , dbType , err )
187187 }
188- } else {
188+ default :
189189 return 0 , fmt .Errorf ("load failed to get %s database load: unsupported dbType" , dbType )
190190 }
191191 // convert bytes to MB
@@ -204,7 +204,8 @@ func (ri *RelationalDatabaseImpl) Initialize(ctx context.Context, dsn string, db
204204 return fmt .Errorf ("initialize failed to open %s database: %w" , dbType , err )
205205 }
206206
207- if dbType == mysql {
207+ switch dbType {
208+ case mysql :
208209 _ , err = db .ExecContext (ctx , "CREATE DATABASE IF NOT EXISTS dbaas_controller" )
209210 if err != nil {
210211 return fmt .Errorf ("initialize failed to create %s database: %w" , dbType , err )
@@ -228,7 +229,7 @@ func (ri *RelationalDatabaseImpl) Initialize(ctx context.Context, dsn string, db
228229 if err != nil {
229230 return fmt .Errorf ("initialize failed to create %s table: %w" , dbType , err )
230231 }
231- } else if dbType == postgres {
232+ case postgres :
232233 _ , err := db .ExecContext (ctx , "CREATE SCHEMA IF NOT EXISTS dbaas_controller" )
233234 if err != nil {
234235 return fmt .Errorf ("initialize failed to create %s database: %w" , dbType , err )
@@ -247,7 +248,7 @@ func (ri *RelationalDatabaseImpl) Initialize(ctx context.Context, dsn string, db
247248 if err != nil {
248249 return fmt .Errorf ("initialize failed to create %s table: %w" , dbType , err )
249250 }
250- } else {
251+ default :
251252 return fmt .Errorf ("initialize failed to initialize %s database: unsupported dbType" , dbType )
252253 }
253254
@@ -267,7 +268,8 @@ func (ri *RelationalDatabaseImpl) CreateDatabase(
267268 }
268269
269270 var info RelationalDatabaseInfo
270- if dbType == mysql {
271+ switch dbType {
272+ case mysql :
271273 info , err = ri .databaseInfoMySQL (ctx , dsn , name , namespace )
272274 if err != nil {
273275 return info , fmt .Errorf ("create %s database failed to get database info: %w" , dbType , err )
@@ -301,7 +303,7 @@ func (ri *RelationalDatabaseImpl) CreateDatabase(
301303 if err != nil {
302304 return info , fmt .Errorf ("create %s database error flushing privileges: %w" , dbType , err )
303305 }
304- } else if dbType == postgres {
306+ case postgres :
305307 info , err = ri .databaseInfoPostgreSQL (ctx , dsn , name , namespace )
306308 if err != nil {
307309 return info , fmt .Errorf ("create database failed to get %s database info: %w" , dbType , err )
@@ -342,7 +344,7 @@ func (ri *RelationalDatabaseImpl) CreateDatabase(
342344 return info , fmt .Errorf (
343345 "create %s database error in grant privileges in database `%s`: %w" , dbType , info .Dbname , err )
344346 }
345- } else {
347+ default :
346348 return RelationalDatabaseInfo {}, fmt .Errorf (
347349 "create database failed to create %s database: unsupported dbType" , dbType )
348350 }
@@ -359,7 +361,8 @@ func (ri *RelationalDatabaseImpl) DropDatabase(ctx context.Context, dsn, name, n
359361 }
360362
361363 info := RelationalDatabaseInfo {}
362- if dbType == mysql {
364+ switch dbType {
365+ case mysql :
363366 info , err = ri .databaseInfoMySQL (ctx , dsn , name , namespace )
364367 if err != nil {
365368 return fmt .Errorf ("drop database failed to get database info: %w" , err )
@@ -379,7 +382,7 @@ func (ri *RelationalDatabaseImpl) DropDatabase(ctx context.Context, dsn, name, n
379382 if err != nil {
380383 return fmt .Errorf ("drop database failed to flush privileges: %w" , err )
381384 }
382- } else if dbType == postgres {
385+ case postgres :
383386 info , err = ri .databaseInfoPostgreSQL (ctx , dsn , name , namespace )
384387 if err != nil {
385388 return fmt .Errorf ("drop database failed to get database info: %w" , err )
@@ -404,7 +407,7 @@ func (ri *RelationalDatabaseImpl) DropDatabase(ctx context.Context, dsn, name, n
404407 if err != nil {
405408 return fmt .Errorf ("drop database failed to drop user: %w" , err )
406409 }
407- } else {
410+ default :
408411 return fmt .Errorf ("drop database failed to drop %s database: unsupported dbType" , dbType )
409412 }
410413 return nil
@@ -575,9 +578,10 @@ func (ri *RelationalDatabaseImpl) GetDatabaseInfo(
575578 dsn , name , namespace , dbType string ,
576579) (RelationalDatabaseInfo , error ) {
577580 log .FromContext (ctx ).Info ("Getting database" , "dbType" , dbType , "name" , name , "namespace" , namespace )
578- if dbType == "mysql" {
581+ switch dbType {
582+ case mysql :
579583 return ri .databaseInfoMySQL (ctx , dsn , name , namespace )
580- } else if dbType == " postgres" {
584+ case postgres :
581585 return ri .databaseInfoPostgreSQL (ctx , dsn , name , namespace )
582586 }
583587 return RelationalDatabaseInfo {}, fmt .Errorf ("get database failed to get %s database: unsupported dbType" , dbType )
@@ -590,9 +594,10 @@ func (ri *RelationalDatabaseImpl) SetDatabaseInfo(
590594 info RelationalDatabaseInfo ,
591595) error {
592596 log .FromContext (ctx ).Info ("Setting database" , "dbType" , dbType , "name" , name , "namespace" , namespace )
593- if dbType == "mysql" {
597+ switch dbType {
598+ case mysql :
594599 return ri .insertUserInfoIntoMysql (ctx , dsn , name , namespace , info )
595- } else if dbType == " postgres" {
600+ case postgres :
596601 return ri .insertUserInfoIntoPostgreSQL (ctx , dsn , name , namespace , info )
597602 }
598603 return nil
0 commit comments