1<!--$Id: 4.0.14.html,v 1.5 2007/05/17 18:17:18 bostic Exp $-->
2<html>
3<head>
4<title>The Berkeley DB Package: DB 4.0.14 Change Log</title>
5<meta name="description" content="Berkeley DB: A database programmatic toolkit.">
6<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods">
7</head>
8<body bgcolor=white>
9
10<h3 align=center>Berkeley DB 4.0.14 Change Log</h3>
11
12<h3>Major New Features:</h3>
13<ol>
14
15<li>Group commit. [#42]
16<li>Single-master replication. [#44]
17<li>Support for VxWorks AE; Vxworks support certified by WindRiver Systems
18Inc. [#4401]
19
20</ol>
21
22<h3>General Environment Changes:</h3>
23<ol>
24
25<li>The db_env_set_pageyield interface has been replaced by a new flag
26(DB_YIELDCPU) for the DB_ENV-&gt;set_flags interface.
27<li>The db_env_set_panicstate interface has been replaced by a new flag
28(DB_PANIC_STATE) for the DB_ENV-&gt;set_flags interface.
29<li>The db_env_set_region_init interface has been replaced by a new flag
30(DB_REGION_INIT) for the DB_ENV-&gt;set_flags interface.
31<li>The db_env_set_tas_spins interface has been replaced by the
32DB_ENV-&gt;set_tas_spins method.
33<li>The DB_ENV-&gt;set_mutexlocks interface has been replaced by a new
34flag (DB_NOLOCKING) for the DB_ENV-&gt;set_flags interface.
35<li>Fix a bug where input values from the DB_CONFIG file could overflow.
36<li>The C API lock, log, memory pool and transaction interfaces have
37been converted to method based interfaces; see the Upgrade documentation
38for specific details. [#920]
39<li>Fix a bug in which some DB_ENV configuration information could be lost
40by a failed DB_ENV-&gt;open command. [#4608]
41<li>Fix a bug where Berkeley DB could fail if the application
42attempted to allocate new database pages while the system was
43unable to write new log file buffers. [#4928]
44
45</ol>
46<h3>General Access Method Changes:</h3>
47<ol>
48
49<li>Add a new flag (DB_GET_BOTH_RANGE) that adds support for range
50searches within sorted duplicate data sets. [#3378]
51<li>Fix a bug in which the DB-&gt;get or DB-&gt;pget methods, when used with
52secondary indices, could incorrectly leave an internally-created
53database cursor open. [#4465]
54<li>The DB-&gt;set_alloc method can no longer be called when the
55database is part of a database environment. [#4599]
56
57</ol>
58<h3>Btree Access Method Changes:</h3>
59<ol>
60
61<li>Fix a bug where a lock could be leaked when a thread calling DB-&gt;stat
62on a Btree database was selected to resolve a deadlock.  [#4509]
63
64</ol>
65<h3>Hash Access Method Changes:</h3>
66<ol>
67
68<li>Fix a bug where bulk return using the MULTIPLE_KEY flag on a
69Hash database would only return entries from a single bucket. [#4313]
70
71</ol>
72<h3>Queue Access Method Changes:</h3>
73<ol>
74
75<li>Delete extent files whenever the leading record is deleted, instead
76of only when a DB_CONSUME operation was performed. [#4307]
77
78</ol>
79<h3>Recno Access Method Changes:</h3>
80<ol>
81<li>Fix a bug where the delete of a record in a Recno database
82could leak a lock in non-transactional applications. [#4351]
83<li>Fix a bug where the DB_THREAD flag combined with a backing
84source file could cause an infinite loop. [#4581]
85
86</ol>
87<h3>C++ API Changes:</h3>
88
89<blockquote>None.</blockquote>
90
91<h3>Java API Changes:</h3>
92<ol>
93
94<li>
95Added implementation of DbEnv.lock_vec for Java. [#4094]
96Added some minimal protection so that the same Java Dbt
97cannot be used twice in the same API call, this will
98often catch multithreading programming errors with Dbts. [#4094]
99<li>
100Fix a bug in which a Db.put call with the Db.DB_APPEND would fail
101to correctly return the newly put record's record number. [#4527]
102<li>Fixed problems occurring in multithreaded java apps that use
103callbacks. [#4467]
104</ol>
105<h3>Tcl API Changes:</h3>
106<ol>
107
108<li>Fix a bug in which large integers could be handled incorrectly
109by the Tcl interface on 64-bit machines. [#4371]
110
111</ol>
112<h3>RPC Client/Server Changes:</h3>
113<ol>
114
115<li>The DB_ENV-&gt;set_server interface has been removed.
116
117
118</ol>
119<h3>XA Resource Manager Changes:</h3>
120
121<blockquote>None.</blockquote>
122
123<h3>Locking Subsystem Changes:</h3>
124<ol>
125
126<li>The C++ (Java) API DbLock::put (DbLock.put) method has been changed
127to be a method off the DbEnv handle rather than the DbLock handle.
128<li>Locker IDs may now wrap-around. [#864]
129<li>Explicitly allocated locker IDs must now be freed. [#864]
130<li>Add per-environment, per-lock and per-transaction interfaces to
131support timeout based lock requests and "deadlock" detection.  [#1855]
132<li>Add support for interrupting a waiting locker. [#1976]
133<li>Implemented DbEnv.lock_vec for Java. [#4094]
134
135</ol>
136<h3>Logging Subsystem Changes:</h3>
137<ol>
138
139<li>Fix a bug where the size of a log file could not be set to
140the default value.  [#4567]
141<li>Fix a bug where specifying a non-default log file size could
142cause other processes to be unable to join the environment and
143read its log files. [#4567]
144<li>Fix a bug where Berkeley DB could keep open file descriptors
145to log files returned by the DB_ENV-&gt;log_archive method (or the
146db_archive utility), making it impossible to move or remove them
147on Windows systems. [#3969]
148<li>Replace the log_get interface with a cursor into the
149log file.  [#0043]
150
151</ol>
152<h3>Memory Pool Subsystem Changes:</h3>
153<ol>
154
155<li>Add the DB_ODDFILESIZE flag to the DB_MPOOLFILE-&gt;open method
156supporting files not a multiple of the underlying page size in length.
157<li>Convert memp_XXX functional interfaces to a set of methods, either
158base methods off the DB_ENV handle or methods off of a DB_MPOOLFILE
159handle. [#920]
160<li>Add the DB_ODDFILESIZE flag to the DB_MPOOLFILE-&gt;open method
161supporting files not a multiple of the underlying page size in length.
162<li>Fix a bug where threads of control could deadlock opening a
163database environment with multiple memory pool caches. [#4696]
164<li>Fix a bug where the space needed for per-file memory
165pool statistics was incorrectly calculated. [#4772]
166</ol>
167<h3>Transaction Subsystem Changes:</h3>
168<ol>
169
170<li>Transaction IDs may now wrap-around. [#864]
171<li>Release read locks before performing logging operations at commit. [#4219]
172
173</ol>
174<h3>Utility Changes:</h3>
175<ol>
176
177<li> Fix a bug in which the db_dump utility would incorrectly attach to
178transaction, locking, or logging regions when salvaging, and thus
179could not be used to salvage databases in environments where these
180regions were present. [#4305]
181<li>Fix a bug in which the DB salvager could produce incorrectly
182formatted output for certain classes of corrupt database. [#4305]
183<li>Fix a bug in which the DB salvager could incorrectly salvage
184files containing multiple databases. [#4305]
185<li>Fix a bug where unprintable characters in subdatabase names could
186cause a dump of a database that could not then be loaded. [#4688]
187<li>Increase the size of the cache created by the db_stat and db_verify
188utilities to avoid failure on large databases.  [#4688] [#4787]
189<li>Fix a bug in which a database verification performed with the
190DB_ORDERCHKONLY flag could fail incorrectly. [#4757]
191<li>Fix a bug which caused db_stat to display incorrect information about
192GB size caches.  [#4812]
193</ol>
194<h3>Database or Log File On-Disk Format Changes:</h3>
195<ol>
196
197<li>The on-disk log format changed.
198
199</ol>
200<h3>Configuration, Documentation, Portability and Build Changes:</h3>
201<ol>
202
203<li>Fix a bug where Win9X systems region names could collide.
204<li>Fix a bug where configuring Berkeley DB to build the C++ API
205without also configuring for a shared library build would fail
206to build the C++ library.  [#4343]
207<li>Change Berkeley DB installation to not strip binaries if
208--enable-debug was specified as a configuration option. [#4318]
209<li>Add the -pthread flag to AIX, FreeBSD and OSF/1 library loads. [#4350]
210<li>Fix a bug where the Berkeley DB 1.85 compatibility API
211failed to load in the 3.3.11 release. [#4368]
212<li>Port the Berkeley DB utility programs to the VxWorks environment. [#4378]
213<li>Made change to configuration so that dynamic libraries link
214correctly when C++ is used on AIX. [#4381]
215<li> Fix a variety of problems that prevented the Berkeley DB source tree
216from building on systems without ANSI C compiler support (for example,
217SunOS 4.X). [#4398]
218<li>Added missing DbMultiple*Iterator Java files to Makefile.in. [#4404]
219<li>Fix a bug that could prevent the db_dump185 utility from dumping
220Berkeley DB version 1.86 hash databases. [#4418]
221<li>Reduce the number of calls setting the errno value, to
222improve performance on Windows/NT in MT environments.  [#4432]
223<li>Fix for Darwin (and probably some other) OS's that were getting
224'yes' or other garbage in generated makefiles in place of
225a shared library name. [#4453]
226<li>C++: Remove inlining for constructor of tmpString internal class.
227This fixes warnings on Solaris profiling builds. [#4473]
228<li>DB now restarts system calls that are interrupted by signals. [#4480]
229<li>Fixed warnings for compiling Java native code on Solaris and OSF/1. [#4571]
230<li>Added better configuration for Java on Tru64 (OSF/1), Solaris,
231Mac OS/X, BSD/OS. [#3778]
232<li> Java files are now built as jar files.  Berkeley DB classes are put
233into db.jar (which is an installed file on UNIX) and examples are put
234into dbexamples.jar.  The classes directory is now a subdirectory of
235the build directory, rather than in java/classes. [#4575]
236<li>Support Cygwin installation process. [#4611]
237<li>Correct the Java secondary_key_create method signature. [#4777]
238<li>Export additional Berkeley DB interfaces on Windows to
239support application-specific logging and recovery. [#4827]
240<li>Always complain when using version 2.96 of the gcc compiler. [#4878]
241<li>Add compile and load-time flags to configure for threads on
242UnixWare and OpenUNIX. [#4552] [#4950]
243</ol>
244
245</body>
246</html>
247