hamsterdb 0.4.5 - Release Notes
This release implements "record number" databases; these databases
behave like "auto-increment" tables in SQL. The keys of new records
are automatically assigned, and incremented with each insert.
Also, a few minor bugs were fixed, and some optimizations took place;
the generated database files are much smaller now.
This release implements "record number" databases.
New Features
- "Record Numbers": these databases behave like "auto-increment" tables
in SQL. The keys of new records are automatically assigned by hamsterdb,
and are incremented with each insert.
A new sample (db4.c) demonstrates the new functions, and the
tutorial was updated.
Bugfixes
- The call to CreateFile on Win32 was removed; instead, CreateFileW
is called if UNICODE is defined, otherwise CreateFileA.
- On Win32, files with HAM_READ_ONLY are now opened with GENERIC_READ, not
GENERIC_READ|GENERIC_WRITE.
- ham_flush did not flush the database header page - fixed.
- When opening an Environment file with ham_open (as a database), the
first database in the Environment is now opened.
- When opening an Environment, some flags were not stored correctly - fixed.
- Don't allow ham_env_create_db if the Environment was opened r/o
- Calling ham_set_prefix_compare_func and ham_set_compare_func with NULL
as second parameter resets the compare function to the default
compare function (based on memcmp)
- If a database handle (ham_db_t) was reused after ham_close, a segfault
occurred - fixed.
- Environment files with a non-default pagesize could not be opened - fixed.
Other Changes
- Due to a change of the internal alignment size, hamsterdb database files
are now much smaller.
- The error codes HAM_SHORT_READ and HAM_SHORT_WRITE were removed and
replaced by HAM_IO_ERROR
- The error code HAM_INV_INDEX was renamed to HAM_NOT_INITIALIZED
- The error code HAM_ENV_FULL was renamed to HAM_LIMITS_REACHED
- More unittests were added
For more information, read the README and the CHANGELOG.