Opened 5 months ago

Closed 5 months ago

Last modified 5 months ago

#4919 closed enhancement (fixed)

gdbm-1.21

Reported by: Bruce Dubbs Owned by: Bruce Dubbs
Priority: normal Milestone: 11.1
Component: Book Version: git
Severity: normal Keywords:
Cc:

Description

New minor version.

Change History (3)

comment:1 by Bruce Dubbs, 5 months ago

Owner: changed from lfs-book to Bruce Dubbs
Status: newassigned

comment:2 by Bruce Dubbs, 5 months ago

Resolution: fixed
Status: assignedclosed

Fixed at commit 06e7b3611839ab0051fb09e6ae1abc3dfad1ca4e

Package updates.
    
    Ensure tcl documentation install instructions are present.
    Update to Python3-3.9.7.
    Update to linux-5.14.3.
    Update to libcap-2.57.
    Update to iproute2-5.14.0.
    Update to inetutils-2.2.
    Update to gzip-1.11.
    Update to gdbm-1.21.
    Update to bison-3.8.1.
    Update to bc-5.0.2.

comment:3 by Douglas R. Reno, 5 months ago

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
use.
Note: See TracTickets for help on using tickets.