MCPcopy
hub / github.com/ergochat/ergo / loadDatastore

Method loadDatastore

irc/server.go:1003–1024  ·  view source on GitHub ↗
(config *Config)

Source from the content-addressed store, hash-verified

1001}
1002
1003func (server *Server) loadDatastore(config *Config) error {
1004 // open the datastore and load server state for which it (rather than config)
1005 // is the source of truth
1006
1007 _, err := os.Stat(config.Datastore.Path)
1008 if os.IsNotExist(err) {
1009 server.logger.Warning("server", "database does not exist, creating it", config.Datastore.Path)
1010 err = initializeDB(config.Datastore.Path)
1011 if err != nil {
1012 return err
1013 }
1014 }
1015
1016 db, err := OpenDatabase(config)
1017 if err == nil {
1018 server.store = db
1019 server.dstore = bunt.NewBuntdbDatastore(db, server.logger)
1020 return nil
1021 } else {
1022 return fmt.Errorf("Failed to open datastore: %s", err.Error())
1023 }
1024}
1025
1026func (server *Server) loadFromDatastore(config *Config) (err error) {
1027 // load *lines (from the datastores)

Callers 1

applyConfigMethod · 0.95

Calls 5

NewBuntdbDatastoreFunction · 0.92
initializeDBFunction · 0.85
OpenDatabaseFunction · 0.85
WarningMethod · 0.80
ErrorMethod · 0.45

Tested by

no test coverage detected