aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2018-06-27 21:42:41 +0300
committerSergey Poznyakoff <gray@gnu.org>2018-06-27 21:42:41 +0300
commitd6fe3b45bc669a6bc3f21e4bda69c6a052d78482 (patch)
treeadee5b085e7108a22b81c00c914a6faf5754f9f6
parent7598f08063b2d937233fcca98eb046bb4cfa5a70 (diff)
downloadgdbm-d6fe3b45bc669a6bc3f21e4bda69c6a052d78482.tar.gz
gdbm-d6fe3b45bc669a6bc3f21e4bda69c6a052d78482.tar.bz2
Version 1.16v1.16
-rw-r--r--NEWS22
-rw-r--r--configure.ac2
-rw-r--r--doc/gdbmtool.155
3 files changed, 66 insertions, 13 deletions
diff --git a/NEWS b/NEWS
index 76f7db0..3093d10 100644
--- a/NEWS
+++ b/NEWS
@@ -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>

Return to:

Send suggestions and report system problems to the System administrator.