MCPcopy Index your code
hub / github.com/CovenantSQL/CovenantSQL / NewDatabase

Function NewDatabase

cmd/cql-proxy/storage/database.go:30–51  ·  view source on GitHub ↗

NewDatabase returns new project database object based on storage config.

(cfg *config.StorageConfig)

Source from the content-addressed store, hash-verified

28
29// NewDatabase returns new project database object based on storage config.
30func NewDatabase(cfg *config.StorageConfig) (storage *gorp.DbMap, err error) {
31 var db *sql.DB
32
33 if cfg == nil {
34 // using test database
35 db, err = sql.Open("sqlite3", "file::memory:?mode=memory&cache=shared")
36 } else if cfg.UseLocalDatabase {
37 db, err = sql.Open("sqlite3", cfg.DatabaseID)
38 } else {
39 dsnCfg := client.NewConfig()
40 dsnCfg.DatabaseID = cfg.DatabaseID
41 db, err = sql.Open("covenantsql", dsnCfg.FormatDSN())
42 }
43
44 if err != nil {
45 err = errors.Wrapf(err, "open proxy database failed")
46 return
47 }
48
49 storage = &gorp.DbMap{Db: db, Dialect: gorp.SqliteDialect{}}
50 return
51}

Callers 1

initDBFunction · 0.92

Calls 3

FormatDSNMethod · 0.95
NewConfigFunction · 0.92
OpenMethod · 0.45

Tested by

no test coverage detected