Anton Kaliaev
96e132b4b0
libs/db: remove deprecated `LevelDBBackend` const ( #3632 )
6 years ago
Thane Thomson
70592cc4d8
libs/common: remove deprecated PanicXXX functions ( #3595 )
* Remove deprecated PanicXXX functions from codebase
As per discussion over
[here](https://github.com/tendermint/tendermint/pull/3456#discussion_r278423492 ),
we need to remove these `PanicXXX` functions and eliminate our
dependence on them. In this PR, each and every `PanicXXX` function call
is replaced with a simple `panic` call.
* add a changelog entry
6 years ago
Yumin Xia
36d7180ca2
libs/db: close batch ( #3397 )
ClevelDB requires closing when WriteBatch is no longer needed, https://godoc.org/github.com/jmhodges/levigo#WriteBatch.Close
Fixes the memory leak in https://github.com/cosmos/cosmos-sdk/issues/3842
6 years ago
Yumin Xia
b021f1e505
libs/db: close batch ( #3397 )
ClevelDB requires closing when WriteBatch is no longer needed, https://godoc.org/github.com/jmhodges/levigo#WriteBatch.Close
Fixes the memory leak in https://github.com/cosmos/cosmos-sdk/issues/3842
6 years ago
Jae Kwon
416d143bf7
R4R: Swap start/end in ReverseIterator ( #2913 )
* Swap start/end in ReverseIterator
* update CHANGELOG_PENDING
* fixes from review
6 years ago
Alessio Treglia
c43fb700e3
New NewGoLevelDBWithOpts() to pass opts down to goleveldb ( #2293 )
Closes : #2292
6 years ago
Zach Ramsay
44dad6d70b
Revert "detele everything"
This reverts commit d02c5d1e30
.
7 years ago
Zach Ramsay
d02c5d1e30
detele everything
7 years ago
Ethan Buchman
d55243f0e6
fix import paths
7 years ago
Ethan Buchman
ae3bf81833
mv tmlibs files to libs dir
7 years ago
Jeremiah Andrews
cb08d28d40
Reverse iterators ( #224 )
with passing tests
7 years ago
Thomas Corbière
ee67e34519
Fix lint errors ( #190 )
* use increment and decrement operators.
* remove unnecessary else branches.
* fix receiver names.
* remove omittable code.
* fix dot imports.
7 years ago
Jae Kwon
d289c9286e
Implement NewPrefixDB ( #164 )
* encodeByteSlice uses uvarint for length instead of varint
* Implemented NewPrefixDB
* Fix flowrate test (#165 )
* Complete implementation and fix tests
* Add tests for MemBatch Write[Sync]
7 years ago
Jae Kwon
f6dbe9ba05
Refactor string -> dbBackendType
7 years ago
Jae Kwon
b31397aff5
Fix GoLevelDB Iterator which needs to copy a temp []byte
7 years ago
Jae Kwon
4ce8448d7f
Nil keys are OK, deprecate BeginningKey/EndingKey ( #101 )
* Nil keys are OK, deprecate BeginningKey/EndingKey
7 years ago
Emmanuel Odeke
a7b20d4e46
db: Simplify exists check, fix IsKeyInDomain signature, Iterator Close
+ *FSDB.HasKey now uses common.FileExists to test for file existence
+ IsKeyInDomain takes key as a []byte slice instead of as a string
to avoid extraneous []byte<-->string conversions for start and end
+ Iterator.Close() instead of Iterator.Release()
+ withDB helper to encapsulate DB creation, deferred cleanups
so that for loops can use opened DBs and discard them ASAP
Addressing accepted changes from review with @jaekwon
7 years ago
Ethan Buchman
a2f7898b6d
db: fix c and go iterators
7 years ago
Ethan Buchman
d4aeca8ce3
fixes from @melekes
7 years ago
Jae Kwon
5636a02d03
Remove GetError() from Iterator
7 years ago
Ethan Buchman
3e5dbef6a2
db: goleveldb iterator
7 years ago
Ethan Buchman
5b7f90dfb2
db: test panic on nil key
7 years ago
Jae Kwon
0d03cd9e31
Make it compile
7 years ago
Jae Kwon
56e51bc113
CacheWrap() -> CacheDB() CacheDB
7 years ago
Jae Kwon
8481c49c82
CacheDB ( #67 )
* Add CacheDB & SimpleMap
* Generic memBatch; Fix cLevelDB tests
* CacheWrap() for CacheDB and MemDB
* Change Iterator to match LeviGo Iterator
* Fixes from review
* cacheWrapWriteMutex and some race fixes
* Use tmlibs/common
* NewCWWMutex is exposed. DB can be CacheWrap'd
* Remove GetOK, not needed
* Fsdb (#72 )
* Add FSDB
* Review fixes from Anton
* Review changes
* Fixes from review
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
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
Paul W. Homer
34e2d6638d
Fixed a typo in LevelDB property names.
8 years ago
Paul W. Homer
6064c80250
Modified all db types to conform to the interface changes.
8 years ago
Paul W. Homer
d6205eb4ca
Changed the iterations
8 years ago
Paul W. Homer
bb8104b624
Exposed the LevelDB iterator in the DB struct.
8 years ago
Jae Kwon
5e2a1d3e30
Fix tests; Support 'leveldb' for legacy
8 years ago
Jae Kwon
5ab5538d6c
Move cleveldb to own file w/ build tag condition 'gcc'
8 years ago
Jae Kwon
9f81134388
Add support for levigo bindings
8 years ago
Jae Kwon
28d39f8726
...
9 years ago