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
b0e0dc5de3
Implement DebugDB ( #166 )
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
Ethan Buchman
1b5176003a
DbBackend -> DBBackend
7 years ago
Adrian Brink
cbc63518e5
Export DbBackendType in order to fix IAVL tests
7 years ago
Anton Kaliaev
9ccfe161ad
lowercase memDB type key
7 years ago
Jae Kwon
f6dbe9ba05
Refactor string -> dbBackendType
7 years ago
Ethan Buchman
7fe3d5dac2
metalinter
7 years ago
Jae Kwon
b31397aff5
Fix GoLevelDB Iterator which needs to copy a temp []byte
7 years ago
Jae Kwon
ca56a274bd
Nil bytes are OK for Get/Set etc
And s/Release/Close/g
7 years ago
Jae Kwon
4ce8448d7f
Nil keys are OK, deprecate BeginningKey/EndingKey ( #101 )
* Nil keys are OK, deprecate BeginningKey/EndingKey
7 years ago
Ethan Buchman
66b0e8fa2d
fix c level db iterator
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
Ethan Buchman
318982c0ba
checkKeyCondition -> IsKeyInDomain
7 years ago
Jae Kwon
5636a02d03
Remove GetError() from Iterator
7 years ago
Ethan Buchman
edf07760d6
db: fsdb iterator
7 years ago
Ethan Buchman
bcacaf164b
db: cleveldb iterator
7 years ago
Ethan Buchman
3e5dbef6a2
db: goleveldb iterator
7 years ago
Ethan Buchman
39e40ff5ce
db: memdb iterator
7 years ago
Ethan Buchman
bb115d4d61
cleanupDBDir
7 years ago
Ethan Buchman
ba8c5045b5
db: fixes to fsdb and clevledb
7 years ago
Ethan Buchman
c547caf04f
db: some test cleanup
7 years ago
Ethan Buchman
5b7f90dfb2
db: test panic on nil key
7 years ago
Ethan Buchman
781f6c5d22
db: some comments in types.go
7 years ago
Jae Kwon
7f650cea86
Remove Prev from Iterator
7 years ago
Jae Kwon
0d03cd9e31
Make it compile
7 years ago
Jae Kwon
50a30aafc1
New canonical Iterator
7 years ago
Jae Kwon
17dc8a7449
SetDeleter/Batch separation
7 years ago
Ethan Buchman
135a1a7cd7
db: sort keys for memdb iterator
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
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