All releases of hamsterdb Embedded Storage


Release Notes: This release improves performance and adds a new feature: records can now be read and written partially (with the flag HAM_PARTIAL). This feature required changes to the ham_record_t structure, therefore the ABI of hamsterdb is not backwards compatible (but the API and file format is). The libtool version was incremented, and the Win32 libraries now have the version encoded in the filename of the dynamic and static libraries. Precompiled libraries for win32/win64 are available for download.


Release Notes: Duplicate keys can now be sorted. Sorting has to be enabled with HAM_SORT_DUPLICATES. The default collation can be overridden with ham_set_duplicate_compare_func. A few bugs were fixed, including problems with gcc 4.4.1 on 64-bit systems.


Release Notes: This release fixes a few minor bugs and improves performance for In-Memory Databases: Users can now request a pointer to the stored record data by specifying the flag HAM_DIRECT_ACCES to ham_find, ham_cursor_find[_ex], and ham_cursor_move. Thus they can overwrite the record data without calling ham_insert or ham_cursor_overwrite. A few flags were removed and the interface for ham_get_key_count was slightly changed (please see the README). Precompiled binaries for Windows (32-bit and 64-bit) are available for download.


Release Notes: This release comes with a functionality called "Approximate Matching" that retrieves the nearest neighbour if a key cannot be found. Additionally, performance was increased significantly and several bugs were fixed. Users can now give hints regarding the database characteristics ("Data Access Modes") to further improve performance. Several other functions were added, mainly to retrieve Database information. This release can read/write databases created with 1.0.x, but not vice-versa.


Release Notes: This release fixes a minor bug in ham_cursor_move; if the second parameter ("record") is NULL and compression is enabled, hamsterdb crashes. Also, the unittest-dependency to cppunit was removed.


Release Notes: This release fixes a major bug during ham_erase; if too many elements of a Database page are deleted, the page is merged with other pages. If extended keys are used, the overflow area of a key could get corrupted during this merge. Sources, changelog, and precompiled win32/win64 libraries are available for download.


Release Notes: This release fixes a bug on big-endian architectures where databases from little-endian architectures were not loaded correctly, and vice versa. A typo in the Tutorial was fixed. Sources and pre-built libraries are now available for Win32 and Win64.


Release Notes: This release adds a new flag, HAM_CACHE_UNLIMITED, which uses unlimited cache and is therefore nearly as fast as a pure in-memory database. Also, the unit tests now compile with gcc 4.3.x and glibc 2.8. The C++ API has a new function to assign keys with a template parameter. The ./configure script has a new option, --enable-system-zlib, to link against -lz instead of the zlib version which is provided with hamsterdb. Finally, the tutorial has a new chapter about Transaction support.


Release Notes: This release fixes several minor issues found by static code analysis tools. A bug in the command line tool ham_dump was fixed. hamsterdb was ported to the maemo.org SDK for ATMEL-based Nokia N810 cell phones. The C++ wrapper now supports the Transaction API. On Linux, the flag O_NOATIME is specified when opening or creating files. When closing the Environment or Database, a pending Transaction can now be auto-committed (HAM_AUTO_COMMIT).


Release Notes: This release fixes a severe bug in the Logging module. When using Environments, some valid log entries were not written to the log file. Also, this release introduces the first (limited) support for ACID transactions.