MCPcopy Create free account
hub / github.com/CovenantSQL/CovenantSQL / load

Method load

kayak/wal/leveldb_wal.go:196–219  ·  view source on GitHub ↗
(logHeader []byte)

Source from the content-addressed store, hash-verified

194}
195
196func (p *LevelDBWal) load(logHeader []byte) (l *kt.Log, err error) {
197 l = new(kt.Log)
198
199 if err = utils.DecodeMsgPack(logHeader, &l.LogHeader); err != nil {
200 log.WithField("header", logHeader).WithError(err).Debug("decode log header failed")
201 err = errors.Wrap(err, "decode log header failed")
202 return
203 }
204
205 dataKey := append(append([]byte(nil), logDataKeyPrefix...), p.uint64ToBytes(l.Index)...)
206
207 var encData []byte
208 if encData, err = p.db.Get(dataKey, nil); err != nil {
209 err = errors.Wrap(err, "get log data failed")
210 return
211 }
212
213 // load data
214 if err = utils.DecodeMsgPack(encData, &l.Data); err != nil {
215 err = errors.Wrap(err, "decode log data failed")
216 }
217
218 return
219}
220
221func (p *LevelDBWal) uint64ToBytes(o uint64) (res []byte) {
222 res = make([]byte, 8)

Callers 2

ReadMethod · 0.95
GetMethod · 0.95

Calls 6

uint64ToBytesMethod · 0.95
DecodeMsgPackFunction · 0.92
WithFieldFunction · 0.92
DebugMethod · 0.80
WithErrorMethod · 0.80
GetMethod · 0.65

Tested by

no test coverage detected