diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2018-06-27 21:42:41 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2018-06-27 21:42:41 +0300 |
commit | d6fe3b45bc669a6bc3f21e4bda69c6a052d78482 (patch) | |
tree | adee5b085e7108a22b81c00c914a6faf5754f9f6 | |
parent | 7598f08063b2d937233fcca98eb046bb4cfa5a70 (diff) | |
download | gdbm-d6fe3b45bc669a6bc3f21e4bda69c6a052d78482.tar.gz gdbm-d6fe3b45bc669a6bc3f21e4bda69c6a052d78482.tar.bz2 |
Version 1.16v1.16
-rw-r--r-- | NEWS | 22 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | doc/gdbmtool.1 | 55 |
3 files changed, 66 insertions, 13 deletions
@@ -1,9 +1,29 @@ -GNU dbm NEWS -- history of user-visible changes. 2018-06-16 +GNU dbm NEWS -- history of user-visible changes. 2018-06-27 Copyright (C) 1990-2018 Free Software Foundation, Inc. See the end of file for copying conditions. Please send gdbm bug reports to <bug-gdbm@gnu.org>. +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 diff --git a/configure.ac b/configure.ac index 505ba09..4306bcd 100644 --- a/configure.ac +++ b/configure.ac @@ -16,7 +16,7 @@ # along with GDBM. If not, see <http://www.gnu.org/licenses/>. */ m4_define([_GDBM_VERSION_MAJOR], 1) -m4_define([_GDBM_VERSION_MINOR], 15) +m4_define([_GDBM_VERSION_MINOR], 16) dnl m4_define([_GDBM_VERSION_PATCH], 0) AC_INIT([gdbm], diff --git a/doc/gdbmtool.1 b/doc/gdbmtool.1 index ca927ca..c5d5f9e 100644 --- a/doc/gdbmtool.1 +++ b/doc/gdbmtool.1 @@ -13,19 +13,32 @@ .\" .\" You should have received a copy of the GNU General Public License .\" along with GDBM. If not, see <http://www.gnu.org/licenses/>. */ -.TH GDBMTOOL 1 "July 12, 2016" "GDBM" "GDBM User Reference" +.TH GDBMTOOL 1 "June 27, 2018" "GDBM" "GDBM User Reference" .SH NAME gdbmtool \- examine and modify a GDBM database .SH SYNOPSIS -\fBgdbmtool\fR [\fB\-lmNnqrs\fR] [\fB\-b\fR \fISIZE\fR] [\fB\-c\fR \fISIZE\fR]\ - [\fB\-f\fR \fIFILE\fR] [\fB\-\-block\-size\fR=\fISIZE\fR] - [\fB\-\-cache\-size\fR=\fISIZE\fR] [\fB\-\-file\fR \fIFILE\fR]\ - [\fB\-\-newdb\fR] [\fB\-\-no\-lock\fR] - [\fB\-\-no\-mmap\fR] [\fB\-\-norc\fR] - [\fB\-\-quiet\fR] [\fB\-\-read\-only\fR] [\fB\-\-synchronize\fR]\ - [\fIDBFILE\fR] +\fBgdbmtool\fR\ + [\fB\-lmNnqrs\fR]\ + [\fB\-b\fR \fISIZE\fR]\ + [\fB\-c\fR \fISIZE\fR]\ + [\fB\-f\fR \fIFILE\fR]\ + [\fB\-\-block\-size\fR=\fISIZE\fR]\ + [\fB\-\-cache\-size\fR=\fISIZE\fR]\ + [\fB\-\-file\fR \fIFILE\fR]\ + [\fB\-\-newdb\fR]\ + [\fB\-\-no\-lock\fR]\ + [\fB\-\-no\-mmap\fR]\ + [\fB\-\-norc\fR]\ + [\fB\-\-quiet\fR]\ + [\fB\-\-read\-only\fR]\ + [\fB\-\-synchronize\fR]\ + [\fIDBFILE\fR] [\fICOMMAND\fR [; \fICOMMAND\fR...]] .sp -\fBgdbmtool\fR [\fB\-Vh\fR] ][\fB\-\-help\fR] [\fB\-\-usage\fR] [\fB\-\-version\fR] +\fBgdbmtool\fR\ + [\fB\-Vh\fR]\ + [\fB\-\-help\fR]\ + [\fB\-\-usage\fR]\ + [\fB\-\-version\fR] .SH DESCRIPTION The .B gdbmtool @@ -61,6 +74,14 @@ The program terminates when the .B quit command is given, or end-of-file is detected on its standard input. .PP +Commands can also be specified in the command line, after the \fIDBFILE\fR +argument. In this case, they will be interpreted without attempting to +read more commands from the standard input. +.PP +If several commands are supplied, they must be separated by +semicolons (properly escaped or quoted, in order to prevent them from +being interpreted by the shell). +.PP A .B gdbmtool command consists of a command verb, optionally @@ -425,12 +446,24 @@ Open the database in read-only mode. Signal an error if it does not exist. .RE .TP +.BR filemode ", octal" +Sets the file mode for newly created database files. Default is 0644. +.TP .BR lock ", boolean" Lock the database. This is the default. .TP .BR mmap ", boolean" Use memory mapping. This is the default. - +.TP +.BR coalesce ", boolean" +When set, this option causes adjacent free blocks to be merged which +allows for more efficient memory management at the expense of a +certain increase in CPU usage. +.TP +.BR centfree ", boolean" +Enables central free block pool. This causes all free blocks of space +to be placed in the global pool, thereby speeding up the allocation of +data space. .SH "SEE ALSO" .BR gdbm_dump (1), .BR gdbm_load (1), @@ -438,7 +471,7 @@ Use memory mapping. This is the default. .SH "REPORTING BUGS" Report bugs to <bug\-gdbm@gnu.org>. .SH COPYRIGHT -Copyright \(co 2013 Free Software Foundation, Inc +Copyright \(co 2013-2018 Free Software Foundation, Inc .br .na License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> |