hamsterdb 0.4.8 - Release Notes
This release comes with AES encryption, zlib compression, a C++ API wrapper
and minor bug fixes.
New Features
- Environments now support a configurable number of databases; the default
is 16, but files with a pagesize of 16kb can have up to 508 databases.
See parameter HAM_PARAM_MAX_ENV_DATABASES for ham_env_create_ex.
- Added a new function ham_env_get_database_names(), which returns all
database names in an environment.
- Implemented zlib-based compression; a new function was added:
ham_enable_compression() (can be disabled by specifying
--disable-compression as a ./configure option)
- Implemented AES encryption; a new function was added:
ham_env_enable_encryption() (can be disabled by specifying
--disable-encryption as a ./configure option)
- Added a C++ API file (include/ham/hamsterdb.hpp) and two samples:
samples/db6.cpp and samples/env3.cpp.
Bugfixes
- Fixed bug in configure.in; on some systems, the call to getpagesize()
was not declared correctly.
- When moving a cursor through duplicates and the cache was
exhausted, an assert was triggered.
- (Win32) The parameters for memory mapped I/O did not create
private copies and therefore the file could be damaged if an operation
aborted
Other Changes
- The default pagesize for unix databases is now 16kb, not 4kb; benchmarks
show that this is the fastest option, but still results in small files.
Known Issues
- (Win64/Debug) The routines for memory mapped I/O fail; as a
work-around, use the Release libraries, which are working fine.
For more information, read the README and the CHANGELOG.