vendor: update leveldb (#18205)
This commit is contained in:
commit
01371469e6
1
vendor/github.com/syndtr/goleveldb/leveldb/cache/cache.go
generated
vendored
1
vendor/github.com/syndtr/goleveldb/leveldb/cache/cache.go
generated
vendored
@ -331,7 +331,6 @@ func (r *Cache) delete(n *Node) bool {
|
|||||||
return deleted
|
return deleted
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Nodes returns number of 'cache node' in the map.
|
// Nodes returns number of 'cache node' in the map.
|
||||||
|
4
vendor/github.com/syndtr/goleveldb/leveldb/comparer/bytes_comparer.go
generated
vendored
4
vendor/github.com/syndtr/goleveldb/leveldb/comparer/bytes_comparer.go
generated
vendored
@ -29,7 +29,7 @@ func (bytesComparer) Separator(dst, a, b []byte) []byte {
|
|||||||
// Do not shorten if one string is a prefix of the other
|
// Do not shorten if one string is a prefix of the other
|
||||||
} else if c := a[i]; c < 0xff && c+1 < b[i] {
|
} else if c := a[i]; c < 0xff && c+1 < b[i] {
|
||||||
dst = append(dst, a[:i+1]...)
|
dst = append(dst, a[:i+1]...)
|
||||||
dst[i]++
|
dst[len(dst)-1]++
|
||||||
return dst
|
return dst
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
@ -39,7 +39,7 @@ func (bytesComparer) Successor(dst, b []byte) []byte {
|
|||||||
for i, c := range b {
|
for i, c := range b {
|
||||||
if c != 0xff {
|
if c != 0xff {
|
||||||
dst = append(dst, b[:i+1]...)
|
dst = append(dst, b[:i+1]...)
|
||||||
dst[i]++
|
dst[len(dst)-1]++
|
||||||
return dst
|
return dst
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
vendor/github.com/syndtr/goleveldb/leveldb/comparer/comparer.go
generated
vendored
2
vendor/github.com/syndtr/goleveldb/leveldb/comparer/comparer.go
generated
vendored
@ -36,7 +36,7 @@ type Comparer interface {
|
|||||||
// by any users of this package.
|
// by any users of this package.
|
||||||
Name() string
|
Name() string
|
||||||
|
|
||||||
// Bellow are advanced functions used used to reduce the space requirements
|
// Bellow are advanced functions used to reduce the space requirements
|
||||||
// for internal data structures such as index blocks.
|
// for internal data structures such as index blocks.
|
||||||
|
|
||||||
// Separator appends a sequence of bytes x to dst such that a <= x && x < b,
|
// Separator appends a sequence of bytes x to dst such that a <= x && x < b,
|
||||||
|
2
vendor/github.com/syndtr/goleveldb/leveldb/db.go
generated
vendored
2
vendor/github.com/syndtr/goleveldb/leveldb/db.go
generated
vendored
@ -182,7 +182,7 @@ func Open(stor storage.Storage, o *opt.Options) (db *DB, err error) {
|
|||||||
|
|
||||||
err = s.recover()
|
err = s.recover()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !os.IsNotExist(err) || s.o.GetErrorIfMissing() {
|
if !os.IsNotExist(err) || s.o.GetErrorIfMissing() || s.o.GetReadOnly() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
err = s.create()
|
err = s.create()
|
||||||
|
24
vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go
generated
vendored
24
vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go
generated
vendored
@ -663,7 +663,7 @@ type cCmd interface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type cAuto struct {
|
type cAuto struct {
|
||||||
// Note for table compaction, an empty ackC represents it's a compaction waiting command.
|
// Note for table compaction, an non-empty ackC represents it's a compaction waiting command.
|
||||||
ackC chan<- error
|
ackC chan<- error
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -777,8 +777,8 @@ func (db *DB) mCompaction() {
|
|||||||
|
|
||||||
func (db *DB) tCompaction() {
|
func (db *DB) tCompaction() {
|
||||||
var (
|
var (
|
||||||
x cCmd
|
x cCmd
|
||||||
ackQ, waitQ []cCmd
|
waitQ []cCmd
|
||||||
)
|
)
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
@ -787,10 +787,6 @@ func (db *DB) tCompaction() {
|
|||||||
panic(x)
|
panic(x)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for i := range ackQ {
|
|
||||||
ackQ[i].ack(ErrClosed)
|
|
||||||
ackQ[i] = nil
|
|
||||||
}
|
|
||||||
for i := range waitQ {
|
for i := range waitQ {
|
||||||
waitQ[i].ack(ErrClosed)
|
waitQ[i].ack(ErrClosed)
|
||||||
waitQ[i] = nil
|
waitQ[i] = nil
|
||||||
@ -821,11 +817,6 @@ func (db *DB) tCompaction() {
|
|||||||
waitQ = waitQ[:0]
|
waitQ = waitQ[:0]
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for i := range ackQ {
|
|
||||||
ackQ[i].ack(nil)
|
|
||||||
ackQ[i] = nil
|
|
||||||
}
|
|
||||||
ackQ = ackQ[:0]
|
|
||||||
for i := range waitQ {
|
for i := range waitQ {
|
||||||
waitQ[i].ack(nil)
|
waitQ[i].ack(nil)
|
||||||
waitQ[i] = nil
|
waitQ[i] = nil
|
||||||
@ -844,9 +835,12 @@ func (db *DB) tCompaction() {
|
|||||||
switch cmd := x.(type) {
|
switch cmd := x.(type) {
|
||||||
case cAuto:
|
case cAuto:
|
||||||
if cmd.ackC != nil {
|
if cmd.ackC != nil {
|
||||||
waitQ = append(waitQ, x)
|
// Check the write pause state before caching it.
|
||||||
} else {
|
if db.resumeWrite() {
|
||||||
ackQ = append(ackQ, x)
|
x.ack(nil)
|
||||||
|
} else {
|
||||||
|
waitQ = append(waitQ, x)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
case cRange:
|
case cRange:
|
||||||
x.ack(db.tableRangeCompaction(cmd.level, cmd.min, cmd.max))
|
x.ack(db.tableRangeCompaction(cmd.level, cmd.min, cmd.max))
|
||||||
|
2
vendor/github.com/syndtr/goleveldb/leveldb/db_util.go
generated
vendored
2
vendor/github.com/syndtr/goleveldb/leveldb/db_util.go
generated
vendored
@ -84,7 +84,7 @@ func (db *DB) checkAndCleanFiles() error {
|
|||||||
var mfds []storage.FileDesc
|
var mfds []storage.FileDesc
|
||||||
for num, present := range tmap {
|
for num, present := range tmap {
|
||||||
if !present {
|
if !present {
|
||||||
mfds = append(mfds, storage.FileDesc{storage.TypeTable, num})
|
mfds = append(mfds, storage.FileDesc{Type: storage.TypeTable, Num: num})
|
||||||
db.logf("db@janitor table missing @%d", num)
|
db.logf("db@janitor table missing @%d", num)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
4
vendor/github.com/syndtr/goleveldb/leveldb/iterator/iter.go
generated
vendored
4
vendor/github.com/syndtr/goleveldb/leveldb/iterator/iter.go
generated
vendored
@ -40,11 +40,11 @@ type IteratorSeeker interface {
|
|||||||
Seek(key []byte) bool
|
Seek(key []byte) bool
|
||||||
|
|
||||||
// Next moves the iterator to the next key/value pair.
|
// Next moves the iterator to the next key/value pair.
|
||||||
// It returns whether the iterator is exhausted.
|
// It returns false if the iterator is exhausted.
|
||||||
Next() bool
|
Next() bool
|
||||||
|
|
||||||
// Prev moves the iterator to the previous key/value pair.
|
// Prev moves the iterator to the previous key/value pair.
|
||||||
// It returns whether the iterator is exhausted.
|
// It returns false if the iterator is exhausted.
|
||||||
Prev() bool
|
Prev() bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
13
vendor/github.com/syndtr/goleveldb/leveldb/opt/options.go
generated
vendored
13
vendor/github.com/syndtr/goleveldb/leveldb/opt/options.go
generated
vendored
@ -158,6 +158,12 @@ type Options struct {
|
|||||||
// The default value is 8MiB.
|
// The default value is 8MiB.
|
||||||
BlockCacheCapacity int
|
BlockCacheCapacity int
|
||||||
|
|
||||||
|
// BlockCacheEvictRemoved allows enable forced-eviction on cached block belonging
|
||||||
|
// to removed 'sorted table'.
|
||||||
|
//
|
||||||
|
// The default if false.
|
||||||
|
BlockCacheEvictRemoved bool
|
||||||
|
|
||||||
// BlockRestartInterval is the number of keys between restart points for
|
// BlockRestartInterval is the number of keys between restart points for
|
||||||
// delta encoding of keys.
|
// delta encoding of keys.
|
||||||
//
|
//
|
||||||
@ -384,6 +390,13 @@ func (o *Options) GetBlockCacheCapacity() int {
|
|||||||
return o.BlockCacheCapacity
|
return o.BlockCacheCapacity
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (o *Options) GetBlockCacheEvictRemoved() bool {
|
||||||
|
if o == nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return o.BlockCacheEvictRemoved
|
||||||
|
}
|
||||||
|
|
||||||
func (o *Options) GetBlockRestartInterval() int {
|
func (o *Options) GetBlockRestartInterval() int {
|
||||||
if o == nil || o.BlockRestartInterval <= 0 {
|
if o == nil || o.BlockRestartInterval <= 0 {
|
||||||
return DefaultBlockRestartInterval
|
return DefaultBlockRestartInterval
|
||||||
|
4
vendor/github.com/syndtr/goleveldb/leveldb/session_util.go
generated
vendored
4
vendor/github.com/syndtr/goleveldb/leveldb/session_util.go
generated
vendored
@ -36,7 +36,7 @@ func (s *session) logf(format string, v ...interface{}) { s.stor.Log(fmt.Sprintf
|
|||||||
|
|
||||||
func (s *session) newTemp() storage.FileDesc {
|
func (s *session) newTemp() storage.FileDesc {
|
||||||
num := atomic.AddInt64(&s.stTempFileNum, 1) - 1
|
num := atomic.AddInt64(&s.stTempFileNum, 1) - 1
|
||||||
return storage.FileDesc{storage.TypeTemp, num}
|
return storage.FileDesc{Type: storage.TypeTemp, Num: num}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *session) addFileRef(fd storage.FileDesc, ref int) int {
|
func (s *session) addFileRef(fd storage.FileDesc, ref int) int {
|
||||||
@ -190,7 +190,7 @@ func (s *session) recordCommited(rec *sessionRecord) {
|
|||||||
|
|
||||||
// Create a new manifest file; need external synchronization.
|
// Create a new manifest file; need external synchronization.
|
||||||
func (s *session) newManifest(rec *sessionRecord, v *version) (err error) {
|
func (s *session) newManifest(rec *sessionRecord, v *version) (err error) {
|
||||||
fd := storage.FileDesc{storage.TypeManifest, s.allocFileNum()}
|
fd := storage.FileDesc{Type: storage.TypeManifest, Num: s.allocFileNum()}
|
||||||
writer, err := s.stor.Create(fd)
|
writer, err := s.stor.Create(fd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
|
30
vendor/github.com/syndtr/goleveldb/leveldb/table.go
generated
vendored
30
vendor/github.com/syndtr/goleveldb/leveldb/table.go
generated
vendored
@ -78,7 +78,7 @@ func newTableFile(fd storage.FileDesc, size int64, imin, imax internalKey) *tFil
|
|||||||
}
|
}
|
||||||
|
|
||||||
func tableFileFromRecord(r atRecord) *tFile {
|
func tableFileFromRecord(r atRecord) *tFile {
|
||||||
return newTableFile(storage.FileDesc{storage.TypeTable, r.num}, r.size, r.imin, r.imax)
|
return newTableFile(storage.FileDesc{Type: storage.TypeTable, Num: r.num}, r.size, r.imin, r.imax)
|
||||||
}
|
}
|
||||||
|
|
||||||
// tFiles hold multiple tFile.
|
// tFiles hold multiple tFile.
|
||||||
@ -290,16 +290,17 @@ func (x *tFilesSortByNum) Less(i, j int) bool {
|
|||||||
|
|
||||||
// Table operations.
|
// Table operations.
|
||||||
type tOps struct {
|
type tOps struct {
|
||||||
s *session
|
s *session
|
||||||
noSync bool
|
noSync bool
|
||||||
cache *cache.Cache
|
evictRemoved bool
|
||||||
bcache *cache.Cache
|
cache *cache.Cache
|
||||||
bpool *util.BufferPool
|
bcache *cache.Cache
|
||||||
|
bpool *util.BufferPool
|
||||||
}
|
}
|
||||||
|
|
||||||
// Creates an empty table and returns table writer.
|
// Creates an empty table and returns table writer.
|
||||||
func (t *tOps) create() (*tWriter, error) {
|
func (t *tOps) create() (*tWriter, error) {
|
||||||
fd := storage.FileDesc{storage.TypeTable, t.s.allocFileNum()}
|
fd := storage.FileDesc{Type: storage.TypeTable, Num: t.s.allocFileNum()}
|
||||||
fw, err := t.s.stor.Create(fd)
|
fw, err := t.s.stor.Create(fd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -422,7 +423,7 @@ func (t *tOps) remove(f *tFile) {
|
|||||||
} else {
|
} else {
|
||||||
t.s.logf("table@remove removed @%d", f.fd.Num)
|
t.s.logf("table@remove removed @%d", f.fd.Num)
|
||||||
}
|
}
|
||||||
if t.bcache != nil {
|
if t.evictRemoved && t.bcache != nil {
|
||||||
t.bcache.EvictNS(uint64(f.fd.Num))
|
t.bcache.EvictNS(uint64(f.fd.Num))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -451,7 +452,7 @@ func newTableOps(s *session) *tOps {
|
|||||||
if !s.o.GetDisableBlockCache() {
|
if !s.o.GetDisableBlockCache() {
|
||||||
var bcacher cache.Cacher
|
var bcacher cache.Cacher
|
||||||
if s.o.GetBlockCacheCapacity() > 0 {
|
if s.o.GetBlockCacheCapacity() > 0 {
|
||||||
bcacher = cache.NewLRU(s.o.GetBlockCacheCapacity())
|
bcacher = s.o.GetBlockCacher().New(s.o.GetBlockCacheCapacity())
|
||||||
}
|
}
|
||||||
bcache = cache.NewCache(bcacher)
|
bcache = cache.NewCache(bcacher)
|
||||||
}
|
}
|
||||||
@ -459,11 +460,12 @@ func newTableOps(s *session) *tOps {
|
|||||||
bpool = util.NewBufferPool(s.o.GetBlockSize() + 5)
|
bpool = util.NewBufferPool(s.o.GetBlockSize() + 5)
|
||||||
}
|
}
|
||||||
return &tOps{
|
return &tOps{
|
||||||
s: s,
|
s: s,
|
||||||
noSync: s.o.GetNoSync(),
|
noSync: s.o.GetNoSync(),
|
||||||
cache: cache.NewCache(cacher),
|
evictRemoved: s.o.GetBlockCacheEvictRemoved(),
|
||||||
bcache: bcache,
|
cache: cache.NewCache(cacher),
|
||||||
bpool: bpool,
|
bcache: bcache,
|
||||||
|
bpool: bpool,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
58
vendor/vendor.json
vendored
58
vendor/vendor.json
vendored
@ -455,76 +455,76 @@
|
|||||||
"revisionTime": "2017-07-05T02:17:15Z"
|
"revisionTime": "2017-07-05T02:17:15Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "k6zbR5hiI10hkWtiK91rIY5s5/E=",
|
"checksumSHA1": "LV0VMVON7xY1ttV+s2ph83ntmDQ=",
|
||||||
"path": "github.com/syndtr/goleveldb/leveldb",
|
"path": "github.com/syndtr/goleveldb/leveldb",
|
||||||
"revision": "c4c61651e9e37fa117f53c5a906d3b63090d8445",
|
"revision": "b001fa50d6b27f3f0bb175a87d0cb55426d0a0ae",
|
||||||
"revisionTime": "2018-07-08T03:05:51Z"
|
"revisionTime": "2018-11-28T10:09:59Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "EKIow7XkgNdWvR/982ffIZxKG8Y=",
|
"checksumSHA1": "mPNraL2edpk/2FYq26rSXfMHbJg=",
|
||||||
"path": "github.com/syndtr/goleveldb/leveldb/cache",
|
"path": "github.com/syndtr/goleveldb/leveldb/cache",
|
||||||
"revision": "c4c61651e9e37fa117f53c5a906d3b63090d8445",
|
"revision": "b001fa50d6b27f3f0bb175a87d0cb55426d0a0ae",
|
||||||
"revisionTime": "2018-07-08T03:05:51Z"
|
"revisionTime": "2018-11-28T10:09:59Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "5KPgnvCPlR0ysDAqo6jApzRQ3tw=",
|
"checksumSHA1": "UA+PKDKWlDnE2OZblh23W6wZwbY=",
|
||||||
"path": "github.com/syndtr/goleveldb/leveldb/comparer",
|
"path": "github.com/syndtr/goleveldb/leveldb/comparer",
|
||||||
"revision": "c4c61651e9e37fa117f53c5a906d3b63090d8445",
|
"revision": "b001fa50d6b27f3f0bb175a87d0cb55426d0a0ae",
|
||||||
"revisionTime": "2018-07-08T03:05:51Z"
|
"revisionTime": "2018-11-28T10:09:59Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "1DRAxdlWzS4U0xKN/yQ/fdNN7f0=",
|
"checksumSHA1": "1DRAxdlWzS4U0xKN/yQ/fdNN7f0=",
|
||||||
"path": "github.com/syndtr/goleveldb/leveldb/errors",
|
"path": "github.com/syndtr/goleveldb/leveldb/errors",
|
||||||
"revision": "c4c61651e9e37fa117f53c5a906d3b63090d8445",
|
"revision": "b001fa50d6b27f3f0bb175a87d0cb55426d0a0ae",
|
||||||
"revisionTime": "2018-07-08T03:05:51Z"
|
"revisionTime": "2018-11-28T10:09:59Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "eqKeD6DS7eNCtxVYZEHHRKkyZrw=",
|
"checksumSHA1": "eqKeD6DS7eNCtxVYZEHHRKkyZrw=",
|
||||||
"path": "github.com/syndtr/goleveldb/leveldb/filter",
|
"path": "github.com/syndtr/goleveldb/leveldb/filter",
|
||||||
"revision": "c4c61651e9e37fa117f53c5a906d3b63090d8445",
|
"revision": "b001fa50d6b27f3f0bb175a87d0cb55426d0a0ae",
|
||||||
"revisionTime": "2018-07-08T03:05:51Z"
|
"revisionTime": "2018-11-28T10:09:59Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "weSsccMav4BCerDpSLzh3mMxAYo=",
|
"checksumSHA1": "hPyFsMiqZ1OB7MX+6wIAA6nsdtc=",
|
||||||
"path": "github.com/syndtr/goleveldb/leveldb/iterator",
|
"path": "github.com/syndtr/goleveldb/leveldb/iterator",
|
||||||
"revision": "c4c61651e9e37fa117f53c5a906d3b63090d8445",
|
"revision": "b001fa50d6b27f3f0bb175a87d0cb55426d0a0ae",
|
||||||
"revisionTime": "2018-07-08T03:05:51Z"
|
"revisionTime": "2018-11-28T10:09:59Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "gJY7bRpELtO0PJpZXgPQ2BYFJ88=",
|
"checksumSHA1": "gJY7bRpELtO0PJpZXgPQ2BYFJ88=",
|
||||||
"path": "github.com/syndtr/goleveldb/leveldb/journal",
|
"path": "github.com/syndtr/goleveldb/leveldb/journal",
|
||||||
"revision": "c4c61651e9e37fa117f53c5a906d3b63090d8445",
|
"revision": "b001fa50d6b27f3f0bb175a87d0cb55426d0a0ae",
|
||||||
"revisionTime": "2018-07-08T03:05:51Z"
|
"revisionTime": "2018-11-28T10:09:59Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "MtYY1b2234y/MlS+djL8tXVAcQs=",
|
"checksumSHA1": "MtYY1b2234y/MlS+djL8tXVAcQs=",
|
||||||
"path": "github.com/syndtr/goleveldb/leveldb/memdb",
|
"path": "github.com/syndtr/goleveldb/leveldb/memdb",
|
||||||
"revision": "c4c61651e9e37fa117f53c5a906d3b63090d8445",
|
"revision": "b001fa50d6b27f3f0bb175a87d0cb55426d0a0ae",
|
||||||
"revisionTime": "2018-07-08T03:05:51Z"
|
"revisionTime": "2018-11-28T10:09:59Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "UmQeotV+m8/FduKEfLOhjdp18rs=",
|
"checksumSHA1": "o2TorI3z+vc+EBMJ8XeFoUmXBtU=",
|
||||||
"path": "github.com/syndtr/goleveldb/leveldb/opt",
|
"path": "github.com/syndtr/goleveldb/leveldb/opt",
|
||||||
"revision": "c4c61651e9e37fa117f53c5a906d3b63090d8445",
|
"revision": "b001fa50d6b27f3f0bb175a87d0cb55426d0a0ae",
|
||||||
"revisionTime": "2018-07-08T03:05:51Z"
|
"revisionTime": "2018-11-28T10:09:59Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "ZnyuciM+R19NG8L5YS3TIJdo1e8=",
|
"checksumSHA1": "ZnyuciM+R19NG8L5YS3TIJdo1e8=",
|
||||||
"path": "github.com/syndtr/goleveldb/leveldb/storage",
|
"path": "github.com/syndtr/goleveldb/leveldb/storage",
|
||||||
"revision": "c4c61651e9e37fa117f53c5a906d3b63090d8445",
|
"revision": "b001fa50d6b27f3f0bb175a87d0cb55426d0a0ae",
|
||||||
"revisionTime": "2018-07-08T03:05:51Z"
|
"revisionTime": "2018-11-28T10:09:59Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "gWFPMz8OQeul0t54RM66yMTX49g=",
|
"checksumSHA1": "gWFPMz8OQeul0t54RM66yMTX49g=",
|
||||||
"path": "github.com/syndtr/goleveldb/leveldb/table",
|
"path": "github.com/syndtr/goleveldb/leveldb/table",
|
||||||
"revision": "c4c61651e9e37fa117f53c5a906d3b63090d8445",
|
"revision": "b001fa50d6b27f3f0bb175a87d0cb55426d0a0ae",
|
||||||
"revisionTime": "2018-07-08T03:05:51Z"
|
"revisionTime": "2018-11-28T10:09:59Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "V/Dh7NV0/fy/5jX1KaAjmGcNbzI=",
|
"checksumSHA1": "V/Dh7NV0/fy/5jX1KaAjmGcNbzI=",
|
||||||
"path": "github.com/syndtr/goleveldb/leveldb/util",
|
"path": "github.com/syndtr/goleveldb/leveldb/util",
|
||||||
"revision": "c4c61651e9e37fa117f53c5a906d3b63090d8445",
|
"revision": "b001fa50d6b27f3f0bb175a87d0cb55426d0a0ae",
|
||||||
"revisionTime": "2018-07-08T03:05:51Z"
|
"revisionTime": "2018-11-28T10:09:59Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "nD6S4KB0S+YHxVMDDE+w3PyXaMk=",
|
"checksumSHA1": "nD6S4KB0S+YHxVMDDE+w3PyXaMk=",
|
||||||
|
Loading…
Reference in New Issue
Block a user