v0.5.0
Breaking Changes
-
KeyEvaluationhas been renamed toScanEvaluation. -
All
scan()functions have been updated with thenode_evaluatorcallback
now returns aScanEvaluationinstead of abool. To preserve existing
behavior, returnScanEvaluation::ReadDatainstead of true andScanEvaluation::Stopinstead of false.The new functionality unlocked with this change is that scan operations can
now be directed as to whether to skip navigating into an interior node. The
newreduce()function uses this ability to skip scanning nodes when an
already reduced value is available on a node.
Added
TreeFile::reduce(),Tree::reduce(),TransactionTree::reduce()have been
added as a way to return aggregated information stored within the nodes. A
practical use case is the ability to retrieve the number of alive/deleted keys
over a given range, but this functionality extends to embedded indexes through
the existingReducertrait.