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