GNU dbm - News
Version 1.15
Item posted by Sergey Poznyakoff <gray> on Sat 16 Jun 2018 04:52:39 PM UTC.
GDBM version 1.15 is available for download. Important changes in this release:
Extensive database consistency checking
GDBM tries to detect inconsistencies in input database files as early as possible. When an inconcistency is detected, a helpful diagnostics is returned and the database is marked as needing recovery. From this moment on, any GDBM function trying to access the database will immediately return error code (instead of eventually segfaulting as previous versions did). In order to reconstruct the database and return it to healthy state, the gdbm_recover function should be used.
Commands can be given to gdbmtool in the command line
The syntax is:
gdbmtool DBNAME COMMAND [ARGS...]
Multiple commands are separated by semicolon (take care to escape it), e.g.:
gdbmtool t.db count\; avail
Fixed data conversion bugs in storing structured keys or content
== New member in the gdbm_recovery structure: duplicate_keys.==
Upon return from gdbm_recover, this member holds the number of keys that has not been recovered, because the same key had already been stored in the database. The actual number of stored keys is thus:
recovered_keys - duplicate_keys
New error codes
The following new error codes are introduced:
- GDBM_BAD_BUCKET (Malformed bucket header)
- GDBM_BAD_HEADER (Malformed database file header)
- GDBM_BAD_AVAIL (Malformed avail_block)
- GDBM_BAD_HASH_TABLE (Malformed hash table)
- GDBM_BAD_DIR_ENTRY (Invalid directory entry)
Removed gdbm-1.8.3 compatibility layer
Powered by Savane 3.14-8aba.
Corresponding source code