Commit Graph

26 Commits

Author SHA1 Message Date
Jae Kwon
45c2e9c30b curVersion -> nextVersion 2017-12-21 03:44:27 -08:00
Jae Kwon
6f9a08d921 Conform to new tmlibs Iterator 2017-12-21 03:44:04 -08:00
Jae Kwon
1ec9e2e0ae Commit, and working on InitState/SetOpetion 2017-12-21 03:41:40 -08:00
Jae Kwon
d681049023 CommitMultiStore, and SetCommitStoreLoader->SetSubstoreLoader 2017-12-21 03:39:00 -08:00
Ethan Buchman
72b0ed004b wip: tests and fixes for kvstore iteration 2017-12-21 03:31:33 -08:00
Jae Kwon
eb1f877d3d
KVStore refactor (#303)
I removed that stuff about cwwMutex and CacheWraps expiring. It was unnecessary complexity given that users need not write concurrent logic. If you have 2 CacheKVStores and you Write on one and later you Write on the other one, they will both write, and strange things may happen. But that’s OK, it’s kinda the expected (unsurprising) behavior. And now the code is much simpler.

Also I got rid of IterKVStore. It’s not necessary to distinguish them because we can have KVStore.Iterator() return nil or panic or an empty iterator. Further simplification…

KVStore.CacheKVStore() doesn’t exist. No need, just call NewCacheKVStore(parent).

Originally I wanted the .CacheKVStore() method because you can make the implementor be responsible for ensuring that returned CacheWraps don’t trample each other. But as written previously this complicates the code a lot more and it isn’t strictly necessary. It’s a kind of magic that maybe should just be avoided.

sdk.Iterator is dbm.Iterator. The plan is to conservatively add more aliases into the “sdk” namespace.

GetError() is removed from Iterator. We need to just panic to be consistent. More simplification.
2017-12-12 20:13:51 -08:00
Ethan Buchman
1a28c4b89c store: add some tests, fix deadlocks (#297) 2017-12-11 23:36:50 -08:00
Jae Kwon
af7a621440
cacheMergeIterator (#298) 2017-12-11 23:30:44 -08:00
Jae Kwon
04fcc6193c
iavlIterator using goroutine (#295) 2017-12-10 00:24:55 -08:00
Jae Kwon
f4484ab3b5 Implementing iavlStore... 2017-12-09 12:35:51 -08:00
Jae Kwon
a47da2c8e1 store/* fixes 2017-12-04 00:56:25 -08:00
Jae Kwon
1d207a2a5e Fixing store/* bugs... 2017-12-04 00:23:10 -08:00
Jae Kwon
0917fc3de7 rootMultiStore holds lastCommitID 2017-12-03 23:17:10 -08:00
Jae Kwon
8db15fe3ef Committer -> CommitStore; CacheWrap() 2017-12-03 22:55:15 -08:00
Ethan Buchman
51f522f8d8 fix some compile errors 2017-12-03 21:41:02 -08:00
Ethan Buchman
7a9014fcaf fixes from my review 2017-12-03 21:41:02 -08:00
Ethan Frey
8550e79665 If CacheWrap() must support Write() enforce that with interface 2017-12-03 21:41:02 -08:00
Ethan Frey
e6f1737a62 Implement IterKVStore/Iterator with TODO 2017-12-03 21:41:02 -08:00
Ethan Frey
dc3aa6d92a IAVLStore implements KVStore 2017-12-03 21:41:02 -08:00
Ethan Frey
6a410607b8 Added CommitterLoader for IAVLStore 2017-12-03 21:41:02 -08:00
Jae Kwon
8c250cc840 Move Queue to attic 2017-12-01 14:08:37 -08:00
Jae Kwon
6a3a37d5a6 Update store types to new spec 2017-12-01 09:24:02 -08:00
Jae Kwon
3474efc599 Cleanup multistore 2017-12-01 08:52:54 -08:00
Jae Kwon
9eed008eed RootStore -> rootMultiStore 2017-11-29 07:58:09 -08:00
Jae Kwon
c01c38acd1 IAVLStore template 2017-11-29 03:08:32 -08:00
Jae Kwon
2b84b2cda2 Remove most of state/* 2017-10-31 15:45:57 -05:00