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

Method Open

backend/plugin/db/snowflake/snowflake.go:51–71  ·  view source on GitHub ↗

Open opens a Snowflake driver.

(_ context.Context, dbType storepb.Engine, config db.ConnectionConfig)

Source from the content-addressed store, hash-verified

49
50// Open opens a Snowflake driver.
51func (d *Driver) Open(_ context.Context, dbType storepb.Engine, config db.ConnectionConfig) (db.Driver, error) {
52 dsn, loggedDSN, err := buildSnowflakeDSN(config)
53 if err != nil {
54 return nil, err
55 }
56
57 slog.Debug("Opening Snowflake driver",
58 slog.String("dsn", loggedDSN),
59 slog.String("environment", config.ConnectionContext.EnvironmentID),
60 slog.String("database", config.ConnectionContext.InstanceID),
61 )
62 db, err := sql.Open("snowflake", dsn)
63 if err != nil {
64 panic(err)
65 }
66 d.dbType = dbType
67 d.db = db
68 d.connectionCtx = config.ConnectionContext
69 d.databaseName = config.ConnectionContext.DatabaseName
70 return d, nil
71}
72
73// buildSnowflakeDSN returns the Snowflake Golang DSN and a redacted version of the DSN.
74func buildSnowflakeDSN(config db.ConnectionConfig) (string, string, error) {

Callers

nothing calls this directly

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 4

buildSnowflakeDSNFunction · 0.85
DebugMethod · 0.80
StringMethod · 0.65
OpenMethod · 0.65

Tested by

no test coverage detected