Next | Query returned 64 messages, browsing 1 to 10 | Previous

History of commit frequency

CVS Commit History:


   2022-02-15 10:26:47 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
gdbm: update to 1.23.

Version 1.23, 2022-02-04

* Bucket cache switched from balanced tree to hash table

Change suggested by Terence Kelly.

* Speed up flushing the changed buckets on disk

* New option codes for gdbm_setopt

** GDBM_GETDBFORMAT

Return the database format.

** GDBM_GETDIRDEPTH

Return the directory depth, i.e. the number of initial (most significant)
bits in hash value that are interpreted as index to the directory.

** GDBM_GETBUCKETSIZE

Return maximum number of keys per bucket.

** GDBM_GETCACHEAUTO

Return the status of the automatic cache adjustment.

** GDBM_SETCACHEAUTO

Enable or disable automatic cache adjustment.
   2021-11-01 19:37:06 by Thomas Klausner | Files touched by this commit (6) | Package removed
Log message:
gdbm: update to 1.22.

Version 1.22

* Fix file header validation

* Fix key verification in sequential access

* Fix testing with DejaGNU 1.6.3

* Fix stack overflow in print_usage

* Fix a leak of avail entry on pushing a new avail block

The leak would occur if the original avail table had odd number of entries.

* New gdbmtool variables: errorexit, errormask, trace, timing

"Errorexit" and "errormask" control which GDBM errors would \ 
cause the
program termination and emitting a diagnostic message,
correspondingly.  Both variables are comma-delimited lists of error
codes.

The "trace" variable enables tracing of the gdbmtool commands.

The "timing" variable, when set, instructs gdbmtool to print time
spent in each command it runs.

* New gdbmtool options: -t (--trace), and -T (--timing)
   2021-10-26 12:10:08 by Nia Alarie | Files touched by this commit (417)
Log message:
databases: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

The following distfiles could not be fetched (some may be only fetched
conditionally):

./databases/cstore/distinfo D6.data.ros.gz
./databases/cstore/distinfo cstore0.2.tar.gz
./databases/cstore/distinfo data4.tar.gz
   2021-10-07 15:35:53 by Nia Alarie | Files touched by this commit (417)
Log message:
databases: Remove SHA1 distfile hashes
   2021-09-14 15:32:50 by Amitai Schleier | Files touched by this commit (5)
Log message:
Apply upstream patch 32517af7 to check for st_mtim in struct stat. Fixes
macOS build.
   2021-09-12 11:12:34 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
gdbm: update to 1.21.

Version 1.21, 2021-09-02

* 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 Linux-only mechanism 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.
   2021-06-28 09:51:44 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
gdbm: update to 1.20.

Version 1.20, 2021-06-17

* New bucket cache

The bucket cache support has been rewritten from scratch.  The new
bucket cache code provides for significant speed up of search
operations.

* Change mmap prereading strategy

Pre-reading of the memory mapper regions, introduced in version 1.19
can be advantageous only when doing intensive look-ups on a read-only
database.  It degrades performance otherwise, especially if doing
multiple inserts.  Therefore, this version introduces a new flag
to gdbm_open: GDBM_PREREAD.  When given, it enables pre-reading of
memory mapped regions.

See https://github.com/Perl/perl5/issues/18884 for details.
   2021-01-04 11:41:13 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
gdbm: update to 1.19.

Version 1.19 - 2020-12-23

* Pre-read the memory mapped regions on systems that support it.

This speeds up operations on big databases.

* gdbmtool: tagged initialization of structured data

Initializers for structured data can be given in tagged form, e.g.:

   store somekey { status=2, id={a,u,x}, name="foo" }

* Bugfixes:

** Preserve locking type during database reorganization
   2020-11-19 03:57:11 by David H. Gutteridge | Files touched by this commit (1) | Package updated
Log message:
gdbm: reflect shlib major bump

(This was missed during the last update to this package almost three
months ago, so no point in doing a dependent PKGREVISION bump now.)
   2020-08-24 09:59:02 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
gdbm: update to 1.18.1.

Version 1.18.1 - 2018-10-27

* Fix debian bug 910911

This restores backward compatibility with databases created by version
1.8 (and some later versions, with mmapped I/O disabled).
See https://bugs.debian.org/910911 for a detailed description.

Version 1.18 - 2018-08-21

* Bugfixes:

** Fix directory entry validation
See https://puszcza.gnu.org.ua/bugs/?402

Directory validation function would falsely report corruption after
several directory reallocations.

** Fix improper use of GDBM_DEBUG macro
See https://puszcza.gnu.org.ua/bugs/?401

** Fix spurious error from gdbm_dump and gdbm_export

The functions incorrectly reported as error the GDBM_ITEM_NOT_FOUND
status, which is reported when upon normal termination of iteration
over the database keys.

** Make sure gdbm_sync always returns a meaningful value
See https://puszcza.gnu.org.ua/bugs/?400

Version 1.17 - 2018-07-30

* int gdbm_close and gdbm_sync

Both functions now return 0 on success. On error, they return -1
and set gdbm_errno and errno to the appropriate error codes.

* Fix bug in gdbm_dump function

The function did not clear the GDBM_ITEM_NOT_FOUND error marker, which
is set upon its normal termination.

Version 1.16 - 2018-06-27

* Maintain sorting order of the available block list after coalescing

This is a very long-standing bug, dated back to the time when optional
coalescing of available blocks with the newly released block was
introduced. Merging the released block with an adjacent block of
available space would clobber the sorting order of the available list.
The bug was discovered due to strict database consistency checks,
introduced in version 1.15.

The fix introduced in this version will silently restore the proper
sorting order of available block list before its use.

* Improve block merging algorithm

New implementation of block merging algorithm will correctly handle
both left and right-adjacent blocks.

Version 1.15 - 2018-06-15

* 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.

Special thanks to Lionel Debroux and Craig Young for investing
their time and efforts in testing and providing valuable feedback.

* Improved error checking

* Removed gdbm-1.8.3 compatibility layer

* 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.

  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"

Next | Query returned 64 messages, browsing 1 to 10 | Previous