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

Method loadFromDatastore

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

Source from the content-addressed store, hash-verified

1024}
1025
1026func (server *Server) loadFromDatastore(config *Config) (err error) {
1027 // load *lines (from the datastores)
1028 server.logger.Debug("server", "Loading D/Klines")
1029 server.loadDLines()
1030 server.loadKLines()
1031
1032 server.channels.Initialize(server, config)
1033 server.accounts.Initialize(server)
1034
1035 if config.Datastore.MySQL.Enabled {
1036 server.mysqlHistoryDB, err = mysql.NewMySQLDatabase(server.logger, config.Datastore.MySQL)
1037 if err != nil {
1038 server.logger.Error("internal", "could not connect to mysql", err.Error())
1039 return err
1040 }
1041 server.historyDB = server.mysqlHistoryDB
1042 } else if config.Datastore.PostgreSQL.Enabled {
1043 server.postgresHistoryDB, err = postgresql.NewPostgreSQLDatabase(server.logger, config.Datastore.PostgreSQL)
1044 if err != nil {
1045 server.logger.Error("internal", "could not connect to postgresql", err.Error())
1046 return err
1047 }
1048 server.historyDB = server.postgresHistoryDB
1049 } else if config.Datastore.SQLite.Enabled {
1050 server.sqliteHistoryDB, err = sqlite.NewSQLiteDatabase(server.logger, config.Datastore.SQLite)
1051 if err != nil {
1052 server.logger.Error("internal", "could not open sqlite database", err.Error())
1053 return err
1054 }
1055 server.historyDB = server.sqliteHistoryDB
1056 } else {
1057 server.historyDB = history.NewNoopDatabase()
1058 }
1059
1060 return nil
1061}
1062
1063func (server *Server) setupListeners(config *Config) (err error) {
1064 logListener := func(addr string, config utils.ListenerConfig) {

Callers 1

applyConfigMethod · 0.95

Calls 9

loadDLinesMethod · 0.95
loadKLinesMethod · 0.95
NewMySQLDatabaseFunction · 0.92
NewPostgreSQLDatabaseFunction · 0.92
NewSQLiteDatabaseFunction · 0.92
NewNoopDatabaseFunction · 0.92
DebugMethod · 0.80
InitializeMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected