MCPcopy Create free account
hub / github.com/bytebase/bytebase / createDatabaseExecute

Method createDatabaseExecute

backend/plugin/db/redshift/redshift.go:206–228  ·  view source on GitHub ↗
(ctx context.Context, statement string)

Source from the content-addressed store, hash-verified

204}
205
206func (d *Driver) createDatabaseExecute(ctx context.Context, statement string) error {
207 databaseName, err := getDatabaseInCreateDatabaseStatement(statement)
208 if err != nil {
209 return err
210 }
211 databases, err := d.getDatabases(ctx)
212 if err != nil {
213 return err
214 }
215 for _, database := range databases {
216 if database.Name == databaseName {
217 // Database already exists.
218 return nil
219 }
220 }
221
222 for _, s := range strings.Split(statement, "\n") {
223 if _, err := d.db.ExecContext(ctx, s); err != nil {
224 return err
225 }
226 }
227 return nil
228}
229
230// executeInTransactionMode executes statements within a single transaction
231func (d *Driver) executeInTransactionMode(ctx context.Context, commands []base.Statement, opts db.ExecuteOptions) (int64, error) {

Callers 1

ExecuteMethod · 0.95

Implementers 15

MockDriverbackend/plugin/advisor/utils_for_tests
Driverbackend/plugin/db/bigquery/bigquery.go
Driverbackend/plugin/db/mongodb/mongodb.go
Driverbackend/plugin/db/trino/trino.go
Driverbackend/plugin/db/redshift/redshift.go
Driverbackend/plugin/db/oracle/oracle.go
Driverbackend/plugin/db/dynamodb/dynamodb.go
Driverbackend/plugin/db/cosmosdb/cosmosdb.go
Driverbackend/plugin/db/spanner/spanner.go
Driverbackend/plugin/db/mssql/mssql.go
Driverbackend/plugin/db/mysql/mysql.go
Driverbackend/plugin/db/pg/pg.go

Calls 2

getDatabasesMethod · 0.95

Tested by

no test coverage detected