The release is focused on B-trees. The B-tree represents a more performant and easy to use alternative to SQLite in Ada applications.
The release fixes bugs and adds tagging B-tree buckets with user data.
Tags can be used for effective (e.g. logarithmic) search for values rather than for keys only, e.g. for points of entering or leaving an interval of values etc.
A B-tree based implementation of waveforms (x,y) provides means to store render and analyze large sets of measurement data.
Changes to the previous version:
Persistent.Memory_Pools.Streams.Generic_Float_Waveform
was added to provide waveform implementation;
- The implementations of B-trees was modified to support tagging buckets of the tree. For this the packages
Generic_B_Tree
, Generic_Indefinite_B_Tree
, Persistent.Memory_Pools.Streams.Generic_External_B_Tree
, Persistent.Memory_Pools.Streams.Generic_External_Ptr_B_Tree
provide subprograms Get_Tag
and Set_Tag
;
- The package
Generic_B_Tree
now has additional generic formal parameters Tag_Type
and Initial_Tag
;
- Subprograms to navigate tree buckets:
Get_Item
, Get_Left_Child
, Get_Left_Parent
, Get_Right_Child
, Get_Right_Parent
, Get_Root
were added to the implementations of B-Trees in the listed above packages;
- Functions
Get_First
and Get_Last
were added to the implementations of B-Trees in the listed above packages;
- Procedures
Store
and Restore
were added to the implementations of B-Trees in the listed above packages;
- The generic procedure
Generic_Traverse
and non-generic Travers
were added to the implementations of B-Trees in the listed above packages to shallow and deep traversal of the tree items and buckets;
Persistent.Memory_Pools
lock is made reentrant;
Image
function was added to Persistent.Blocking_Files
;
- Bug fix in encodings in
Persistent.Blocking_Files.Transactional
and Persistent.Memory_Pools
;
- Bug fix in persistent B-tree implementations;
- Documentation extended.
Project page on Dmitry-kazakov.de