Ethan Buchman
135a1a7cd7
db: sort keys for memdb iterator
7 years ago
Anton Kaliaev
0b22b27bbb
avoid infinite recursion by proxying to iterator
```
WARNING: staticcheck, gosimple and unused are all set, using megacheck instead
db/go_level_db.go:126:15:warning: infinite recursive call (SA5007) (megacheck)
db/go_level_db.go:135:17:warning: infinite recursive call (SA5007) (megacheck)
db/mem_db.go:106:2:warning: redundant return statement (S1023) (megacheck)
```
https://circleci.com/gh/tendermint/tmlibs/220
Also remove unnecessary return statement
7 years ago
Alexis Sellier
6b1e3bcee3
Add comments about copying
7 years ago
Alexis Sellier
e9e6ec3a2c
Implement Key/Value on Iterator for GoLevelDB
This is needed because leveldb reuses the keys on each iteration.
In our wrapper, we copy the key/value so that it is safe to store.
7 years ago
Alexis Sellier
219d4e8427
Add IteratorPrefix method to Iterator
7 years ago
Alexis Sellier
296d223545
Add Release & Error methods to Iterator
We need this to properly support LevelDB backend, which needs
to be released if we don't want to leak memory.
7 years ago
Emmanuel Odeke
8be8127351
db: fix MemDB.Close
Fixes https://github.com/tendermint/tmlibs/issues/55
MemDB previously mistakenly set the actual DB pointer to nil
although that side effect is not visible to the outside world
since p is an identifier within the scope of just that function
call. However, @melekes and I had a discussion in which we
came to the conclusion that Close for an in-memory DB should
instead be a noop and not cause any data loss. See the
discussion on https://github.com/tendermint/tmlibs/pull/56 .
7 years ago
Zach Ramsay
3c57c24921
linting: next round of fixes
7 years ago
Ethan Buchman
8f1dea89f5
db: fix memdb iterator
7 years ago
Ethan Buchman
2f8551d3b6
go-common -> tmlibs
8 years ago
Ethan Buchman
900be74e8f
update import paths
8 years ago
Ethan Buchman
fdbb10827d
merge go-db
8 years ago