MCPcopy Index your code
hub / github.com/perkeep/perkeep / createDB

Function createDB

pkg/sorted/postgres/postgreskv.go:171–194  ·  view source on GitHub ↗
(db *sql.DB, database string)

Source from the content-addressed store, hash-verified

169}
170
171func createDB(db *sql.DB, database string) error {
172 if database == "" {
173 return errors.New("database name can't be empty")
174 }
175
176 rows, err := db.Query(`SELECT 1 FROM pg_database WHERE datname = $1`, database)
177 if err != nil {
178 return err
179 }
180 defer rows.Close()
181 if rows.Next() {
182 return nil // database is already created
183 }
184
185 // Verify database only has runes we expect
186 if !validDatabaseName(database) {
187 return fmt.Errorf("Invalid postgres database name: %q", database)
188 }
189 _, err = db.Exec(fmt.Sprintf("CREATE DATABASE %s", database))
190 if err != nil {
191 return err
192 }
193 return err
194}

Callers 1

Calls 4

validDatabaseNameFunction · 0.70
QueryMethod · 0.65
CloseMethod · 0.65
NextMethod · 0.65

Tested by

no test coverage detected