hamsterdb 0.4.6 - Release Notes
This release adds support duplicate items.
Also, a few bugs were fixed, especially on big-endian architectures.
New Features
- "Duplicate Keys": hamsterdb now supports duplicate keys. A new
sample (db5.c) demonstrates the new functions.
Bugfixes
- Record number databases were broken on big-endian architectures.
- If a cursor pointed to an item, but this item was erased (either
with another cursor or ham_erase), the cursor was not updated
and a subsequent access would result in undefined behaviour.
- Overwriting record number keys was not possible because a new (incremented)
recno key was assigned even if the flag HAM_OVERWRITE was specified.
Other Changes
- The function ham_cursor_replace was renamed to ham_cursor_overwrite.
- More unittests were added.
- hamsterdb is now released under GPL 2.0 or later, which also
includes GPL 3.0.
Known Issues
- The functionality of duplicate keys is complete, but the performance
is not completely satisfying. In rare cases (with databases > 60 MB and
large page sizes), the freelist management slows down all operations and
increases the database file size exponentially. These problems will be
fixed in the next release.
- The Visual Studio project file for sample db5 is missing in the source
distribution.
For more information, read the README and the CHANGELOG.