v0.3.0 #219
ecton
announced in
Announcements
v0.3.0
#219
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Breaking Changes
bonsaidb::local::jobsis now private. It used to be a separate, public cratein the PliantDb days. After thinking about the job scheduler more, this
initial implementation is better suited for the internal task management than
the higher-level jobs system. As such, it has been internalized.
bonsaidb::core::transaction::Changes::Documentshas been changed to storethe
CollectionNames separately from theChangedDocuments. This makes thetransaction log entries smaller, as collection names aren't copied for each
document.
The storage layer is fully backwards compatible and will automatically convert
existing transactions to the new format.
Fixed
v0.1was broken inv0.2. Backwards compatibility is now automatically tested to help ensurethis sort of issue won't happen in the future again.
Added
SerializedCollection::list_with_prefix,connection::Collection::list_with_prefix, andconnection::View::with_key_prefixhave been added as an easy way to filterresults based on whether the key starts with the given prefix.
This is supported by a new trait,
IntoPrefixRange. This trait has beenimplemented for all byte-based key implementations as well as for
String.Operation::push_serializedhas been added, which callsnatural_idbeforecreating an
Operation::Insertvariant.Tasks::parallelizationandBuilder::workers_parallelizationhave beenadded as a way to control how many threads can be used by any given
task/worker. This is automatically configured to be the number of cpu cores
detected.
count()is a new function on the list builders, available via:SerializedCollection::all(db).count().awaitSerializedCollection::list(42.., db).count().awaitdb.collection::<Collection>().all().count().awaitdb.collection::<Collection>().list(42..).count().awaitThe performance of this call is not as good as it will eventually be, as it is
currently doing more work than strictly necessary.
#215:
StorageConnection::delete_userhas been added, enablingdeletions of users without directly interacting with the
admindatabase.Changed
parallelism. The view system is still not hightly optimized, but this change
makes a significant improvement on performance.
This discussion was created from the release v0.3.0.
All reactions