2020-11-10
- #134 Improve GoLevelDB iterator performance by bounding underlying iterator range (@klim0v)
2020-08-27
Bump grpc, badger and goleveldb (see versions in go.mod file)
2020-08-12
- #115 Add a
BadgerDB
backend with build tagbadgerdb
(@mvdan)
2020-06-24
-
#99 Keys can no longer be
nil
or empty, and values can no longer benil
(@erikgrinaker) -
#98
NewDB
now returns an error instead of panicing (@erikgrinaker) -
#96
Batch.Set()
,Delete()
, andClose()
may now error (@erikgrinaker) -
#97
Iterator.Close()
may now error (@erikgrinaker) -
#97 Many iterator panics are now exposed via
Error()
instead (@erikgrinaker) -
#96 The
SetDeleter
interface has been removed (@erikgrinaker)
- #97
RemoteDB
iterators are now correctly primed with the first item when created, without callingNext()
(@erikgrinaker)
2020-03-30
- [boltdb] #81 Use correct import path go.etcd.io/bbolt
2020-03-11
-
#71 Closed or written batches can no longer be reused, all non-
Close()
calls will panic -
[memdb] #74
Iterator()
andReverseIterator()
now take out database read locks for the duration of the iteration -
[memdb] #56 Removed some exported methods that were mainly meant for internal use:
Mutex()
,SetNoLock()
,SetNoLockSync()
,DeleteNoLock()
, andDeleteNoLockSync()
-
[memdb] #53 Use a B-tree for storage, which significantly improves range scan performance
-
[memdb] #56 Use an RWMutex for improved performance with highly concurrent read-heavy workloads
-
[boltdb] #69 Properly handle blank keys in iterators
-
[cleveldb] #65 Fix handling of empty keys as iterator endpoints
2020-2-26
- [fsdb] #43 Remove FSDB
- [boltdb] #45 Bring BoltDB to adhere to the db interfaces
2020-1-7
- #30 Interface Breaking, Interfaces return errors instead of panic:
- Changes to function signatures:
- DB interface:
Get([]byte) ([]byte, error)
Has(key []byte) (bool, error)
Set([]byte, []byte) error
SetSync([]byte, []byte) error
Delete([]byte) error
DeleteSync([]byte) error
Iterator(start, end []byte) (Iterator, error)
ReverseIterator(start, end []byte) (Iterator, error)
Close() error
Print() error
- Batch interface:
Write() error
WriteSync() error
- Iterator interface:
Error() error
- DB interface:
- Changes to function signatures:
- [remotedb] #34 Add proto file tests and regenerate remotedb.pb.go
2019-11-18
Special thanks to external contributors on this release:
- #26 Rename
DBBackendtype
toBackendType
2019-09-19
Special thanks to external contributors on this release: @stumble
- #12 Add
RocksDB
(@stumble)
2019-07-16
Special thanks to external contributors on this release:
db
,random.go
,bytes.go
andos.go
from the tendermint repo.