[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gdbm-1.21 released [stable]

From: Sergey Poznyakoff
Subject: gdbm-1.21 released [stable]
Date: Thu, 02 Sep 2021 16:21:51 +0200
User-agent: MH (GNU Mailutils 3.13.90)


We are pleased to announce the release of GNU dbm 1.21.  This new
release introduces crash tolerance to gdbm databases.

I would like to express my gratitude to Terence Kelly, without whom
this release would not be possible.

GNU dbm is a library of database functions that use extensible
hashing and work similar to the standard UNIX dbm.  These routines
are provided to a programmer needing to create and manipulate a
hashed database.

Here are the compressed sources and a GPG detached signature[*]:

Use a mirror for higher download bandwidth:

Here are the MD5 and SHA1 checksums:

a285c6e2dfed78668664c0555a7d202b  gdbm-1.21.tar.gz
f6eec6113f04a4b5fd2c1cfead10e7d65c8f3d89  gdbm-1.21.tar.gz

New in this release:

* Crash tolerance

By default it is possible for an abrupt crash (e.g., power failure,
OS kernel panic, or application process crash) to corrupt the gdbm
database file.  A new mechanism, currently available on GNU/Linux
systems only, enables applications to recover the database state
corresponding to the most recent successful gdbm_sync() call before
the crash.  See the chapter 17 "Crash Tolerance" in the GDBM manual.

* New database file format: numsync

The new "numsync" database format is designed to better support
crash tolerance.  To create a database in numsync format, the gdbm_open 
(or gdbm_fd_open) function must be given the GDBM_NEWDB|GDBM_NUMSYNC
flags.  The GDBM_NUMSYNC flag also takes effect when used together
with GDBM_WRCREAT, provided that the new file is created.

New function gdbm_convert() is provided for converting the databases
from standard GDBM format to numsync and vice versa.

The gdbmtool tool can also be used for converting databases between
these two formats.

* Changes in gdbmtool

** Fix string output in non-ASCII encodings

Printable multi-byte sequences are correctly represented on output.
This also fixes octal representation of unprintable characters.

** The filename variable

This variable supplies the name of database file for use in "open"
command, if the latter is called without arguments.  If "open" is
called with the file name argument, the "filename" variable is
initialized to this value.

** The fd variable

If set, its value must be an open file descriptor referring to a
GDBM database file.  The "open" command will use gdbm_fd_open
function to use this file.   Upon closing the database, this
descriptor will be closed and the variable will be unset.

The file descriptor to use can also be supplied using the
-d (--db-descriptor) command line option.

** The format variable

Defines the format in which new databases will be created.  Allowed
values are: "standard" (default) and "numsync".

** New commands: upgrade and downgrade

The "upgrade" command converts current database to the numsync
(extended) format.  The "downgrade" command converts current database
to the standard format.

** New command: snapshot

The "snapshot" command is part of the new crash tolerance support.
Given the names of two snapshot files, it analyzes them and selects
the one to be used for database recovery.  See the GDBM manual,
section 17.5 "Manual crash recovery" for a detailed discussion of its

Best regards,

reply via email to

[Prev in Thread] Current Thread [Next in Thread]