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

Function NewDBMS

worker/dbms.go:78–125  ·  view source on GitHub ↗

NewDBMS returns new database management instance.

(cfg *DBMSConfig)

Source from the content-addressed store, hash-verified

76
77// NewDBMS returns new database management instance.
78func NewDBMS(cfg *DBMSConfig) (dbms *DBMS, err error) {
79 dbms = &DBMS{
80 cfg: cfg,
81 }
82
83 // init kayak rpc mux
84 if dbms.kayakMux, err = NewDBKayakMuxService(DBKayakRPCName, cfg.Server); err != nil {
85 err = errors.Wrap(err, "register kayak mux service failed")
86 return
87 }
88
89 // init sql-chain rpc mux
90 if dbms.chainMux, err = sqlchain.NewMuxService(route.SQLChainRPCName, cfg.Server); err != nil {
91 err = errors.Wrap(err, "register sqlchain mux service failed")
92 return
93 }
94
95 // cache address of node
96 var (
97 pk *asymmetric.PublicKey
98 addr proto.AccountAddress
99 )
100 if pk, err = kms.GetLocalPublicKey(); err != nil {
101 err = errors.Wrap(err, "failed to cache public key")
102 return
103 }
104 if addr, err = crypto.PubKeyHash(pk); err != nil {
105 err = errors.Wrap(err, "generate address failed")
106 return
107 }
108 dbms.address = addr
109
110 // init chain bus service
111 ctx := context.Background()
112 bs := NewBusService(ctx, addr, conf.GConf.ChainBusPeriod)
113 dbms.busService = bs
114
115 // private key cache
116 dbms.privKey, err = kms.GetLocalPrivateKey()
117 if err != nil {
118 log.WithError(err).Warning("get private key failed")
119 return
120 }
121
122 // init service
123 dbms.rpc = NewDBMSRPCService(route.DBRPCName, cfg.Server, cfg.DirectServer, dbms)
124 return
125}
126
127func (dbms *DBMS) readMeta() (meta *DBMSMeta, err error) {
128 filePath := filepath.Join(dbms.cfg.RootDir, DBMetaFileName)

Callers 3

startTestServiceFunction · 0.92
startDBMSFunction · 0.92
TestDBMSFunction · 0.85

Calls 9

NewMuxServiceFunction · 0.92
GetLocalPublicKeyFunction · 0.92
PubKeyHashFunction · 0.92
GetLocalPrivateKeyFunction · 0.92
WithErrorFunction · 0.92
NewDBKayakMuxServiceFunction · 0.85
NewBusServiceFunction · 0.85
NewDBMSRPCServiceFunction · 0.85
WarningMethod · 0.80

Tested by 2

startTestServiceFunction · 0.74
TestDBMSFunction · 0.68