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