v0.5.0
Breaking Changes
-
KeyEvaluation
has been renamed toScanEvaluation
. -
All
scan()
functions have been updated with thenode_evaluator
callback
now returns aScanEvaluation
instead of abool
. To preserve existing
behavior, returnScanEvaluation::ReadData
instead of true and
ScanEvaluation::Stop
instead 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 existingReducer
trait.