All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Fixed Slice Out of bounds Error when Retrieving Value that is an empty string.
- Changed the
scdb.New()
signature, replacingmaxIndexKeyLen
option withisSearchEnabled
. - Permanently set the maximum index key length to 3
- Changed benchmarks to compare operations when search is enabled to when search is disabled.
- Added full-text search for keys, with pagination using
store.Search(term, skip, limit)
- Changed the
scdb.New()
signature to includemaxIndexKeyLen
option.
- More thorough documentation for the Store
- Optimized the Compact operation.
- Removed unnecessary internal type conversions e.g. to
internal.entries.Index
. - Got rid of message passing in iterating over the index blocks
- Removed unnecessary internal type conversions e.g. to
- Changed to sync.Mutex instead of message passing via channels. This increased the speed to even beyond what is seen in the rust scdb except in compact
- Optimized the Get operation. Removed unnecessary internal type conversions e.g. to
internal.buffers.Value
- Fix the
BufferPool.TryDeleteKvEntry
to return true when delete from file is successful
- Fixed typo in package name
github.com/sopherapps/go-scdb
(originallygithub.com/sopherapps/go-scbd
)
- Initial release