• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/timemachine/db-4.7.25.NC/docs_src/ref/changelog/
1<!--$Id: 3.3.11.html,v 1.6 2007/05/17 18:17:18 bostic Exp $-->
2<html>
3<head>
4<title>The Berkeley DB Package: DB 3.3.11 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 3.3.11 Change Log</h3>
11
12<h3>Major New Features:</h3>
13<ol>
14
15<li>Berkeley DB now continues to run when no disk space is available. [#637]
16<li>Add Berkeley DB API support for bulk-data returns. [#2934]
17<li>Add Berkeley DB API support for secondary indices. [#3329]
18<li>Add support for degree 1 isolation (dirty reads). [#3395]
19<li>Add support for native Berkeley DB two-phase commit.  This requires
20an additional parameter to txn_prepare (a global transaction id), a new
21interface that returns the list of prepared but not yet committed
22transactions, and a new interface that supports transaction discard.  [#3563]
23<li>Add support for the Embedix OS. [#3666]
24
25</ol>
26<h3>Interface Additions and Changes:</h3>
27<ol>
28
29<li>The new Db handle method DB-&gt;truncate supports discard of all
30records in a database. [#1984]
31<li>The DB_LOCK_CONFLICT flag has been removed. [#2606]
32<li>The new DbEnv handle method DBENV-&gt;set_lg_regionmax method
33supports sizing the logging subsystem's region. [#3509]
34<li>Add support for deadlock resolution based on the transaction holding
35the fewest, most, and most write locks. [#3020]
36<li>Replace the DB-&gt;set_malloc and DB-&gt;set_realloc functions, and
37the malloc arguments to DB-&gt;stat, lock_stat, log_archive, log_stat,
38memp_stat and txn_stat, with the new DB_ENV-&gt;set_alloc and
39DB-&gt;set_alloc interfaces. [#3329]
40<li>Allow the DB-&gt;get_type and DB-&gt;get_byteswapped methods to
41return error values. [#4071]
42
43</ol>
44<h3>General Environment Changes:</h3>
45<ol>
46
47<li>Fix a bug where threads of control were not properly informed that
48the database environment had failed with DB_RUNRECOVERY. [#3280]
49<li>Fix a bug where it was impossible to remove or run recovery on a
50database environment that had failed with DB_RUNRECOVERY. [#3280]
51<li>Fix a bug where error messages could be lost when performing
52recovery on a database environment as part of a DB-&gt;open call.
53[#3340]
54<li>Detect attempts to use DB handles inside transactions that were not
55originally created in an environment that supports transactions. [#3406]
56<li>Fix a bug where recovery could drop core when a subdatabase metadata
57page was being recovered. [#3454]
58<li>Fix bug where system mutex resources could be leaked when DB_THREAD
59was specified, on OSE, VxWorks and QNX. [#3474]
60<li>Fix a bug where the DBENV-&gt;set_feedback method could
61cause a core dump if the database environment had no
62existing log files. [#3894]
63
64
65</ol>
66<h3>General Access Method Changes:</h3>
67<ol>
68
69<li>Add the DB_FAST_STAT option to the DB-&gt;stat method to return only
70those database statistics that can be acquired without database
71traversal. Deprecate the DB_CACHED_COUNTS and DB_RECORDCOUNT flags to
72the DB-&gt;stat method. [#2090]
73<li>Fix bugs in the salvager where various error cases failed to unpin
74pages. [#2869]
75<li>Fix a bug where join memory could be allocated using the wrong
76allocation routines. [#3403]
77<li>Fix a bug where a transaction handle could be used after it was
78closed. [#3480]
79<li>Fix a bug in which a join cursor get could unexpectedly fail, or
80memory returned by a join cursor get could be freed or corrupted by
81an unrelated call using the primary database handle. [#3749]
82<li>Fix a bug in which DB-managed memory returned by a DB-&gt;get or
83DB-&gt;put call may be corrupted by a later cursor call. [#3576]
84<li>Fix a bug where file descriptors could be leaked when attempting
85to open database files where the metadata page could not be read. [#3786]
86<li>Fix a bug where the Db.open method could throw a DB_INCOMPLETE
87exception. [#3885]
88<li>Fix a bug in which partial gets that specify an offset and length
89beyond the end of the record could return garbage data. [#4117]
90
91</ol>
92<h3>Btree Access Method Changes:</h3>
93<ol>
94
95<li>Fix a bug where overwriting a previously deleted data item in a
96sorted, off-page, duplicate set could fail. [#3617]
97<li>Fix a bug where the Btree/Recno DB-&gt;stat method could
98leave a page pinned. [#3761]
99<li>Fix a bug where aborting a child transaction could cause an application
100crash if cursors were open in the parent transaction. [#4002]
101
102</ol>
103<h3>Hash Access Method Changes:</h3>
104<ol>
105
106<li>Fix a bug where memory could be freed and then returned to the
107application. [#3506]
108<li>Fix a bug where truncating a hash database with off-page duplicate
109records could drop core.
110<li>Fix a bug where certain record partial put operations could
111be unrecoverable. [#3944]
112<li>Fix a bug where abort when converting from on-page to off-page
113duplicate sets could cause a core dump. [#3975]
114<li>Fix a bug where an error in converting from on-page to off-page
115duplicate sets could leave a page pinned. [#3975]
116<li>Fix a bug where aborting a child transaction could cause open cursors
117belonging to a parent transaction to return corrupt or incomplete data. [#4002]
118<li>Fix a class of bugs in which aborting a child transaction could cause a
119hash cursor that pointed at a deleted item to start pointing at a different,
120incorrect item. [#4052] [#4142]
121
122</ol>
123<h3>Queue Access Method Changes:</h3>
124<ol>
125
126<li>Preserve Queue database extent size across dump/load cycles. [#3323]
127<li>Fix a bug where calling the DB-&gt;stat method on an empty Queue
128database opened in read-only mode dropped core. [#3333]
129<li>Fix a bug in which attempts to get nonexistent records in a Queue
130database could incorrectly return EIO. [#3670]
131<li>Fix a bug where the delete of an extent file could be unrecoverable. [#3927]
132<li>Improve concurrency in the Queue access method by removing a log
133write made while holding a metapage lock during record append. [#3939]
134<li>Fix a bug where the metapage lock was not released on error.  [#3998]
135<li>Fix a bug where log_archive with the DB_ARCH_DATA flag specified
136did not return the names of the extent files for Queue databases.  [#3968]
137<li>Improve concurrency in the Queue access method by removing a log write made while holding a metapage lock during record append. [#3939]
138
139</ol>
140<h3>Recno Access Method Changes:</h3>
141<ol>
142
143<li>Fix a bug in which a DB-&gt;get(DB_GET_BOTH) or DBC-&gt;c_get(DB_GET_BOTH)
144operation on a Recno database could erroneously return an item with
145a matching datum but a different record number from that specified.
146[#3878]
147<li>Fix a bug in which implicitly-created data items could incorrectly
148appear non-empty in a fixed-length Recno database with an re_len
149greater than the threshold for moving items off-page.  [#2934]
150<li>Fix a bug where partial backing source file records (records
151terminated by end-of-file) were lost. [#4161]
152
153</ol>
154<h3>C++ API Changes:</h3>
155<ol>
156
157<li>Add C++ methods to support access from C++ class objects to
158underlying C objects. [#3656]
159
160</ol>
161<h3>Java API Changes:</h3>
162<ol>
163
164<li>Fix a bug where calling the env.log_put method caused a core dump. [#3401]
165<li>Fix a bug where the Java lock statistics structure was out-of-date
166with the C version and the documentation. [#3489]
167
168</ol>
169<h3>Tcl API Changes:</h3>
170<ol>
171
172<li>Fix a bug where memory guard bytes were incorrectly checked by the
173Tcl txn_stat call. [#3431]
174<li>Fix a bug in which values too large for a signed 32-bit integer,
175but which would fit in the unsigned 32-bit integer called for by many
176DB interfaces, would be incorrectly rejected by the Tcl interface
177on some platforms. [#4184]
178
179</ol>
180<h3>RPC Client/Server Changes:</h3>
181<ol>
182
183<li>Fix a bug in RPC reply for the DB-&gt;join method. [#3425]
184<li>Change RPC to use Berkeley DB major/minor release numbers as the
185RPC version numbers. [#3425]
186<li>Fix a bug where lock detection wasn't being run.
187<li>Fix a bug where we were not returning the correct value
188for get_byteswapped when running over RPC. [#3771]
189<li>Change the method interface from set_server to set_rpc_server
190and add an argument to allow users to send in a CLIENT structure for
191us to use for RPC. [#3772]
192
193</ol>
194<h3>XA Resource Manager Changes:</h3>
195
196<blockquote>None.</blockquote>
197
198<h3>Locking Subsystem Changes:</h3>
199<ol>
200
201<li>Speed up deadlock detector check by linking lockers together so we
202don't traverse a large and sparse locker table. [#2983]
203<li>Fix a bug where deadlock detection could be incorrect. [#3479]
204<li>Fix a bug where deadlock resolution of youngest/oldest transactions
205incorrectly selected the transaction to abort. [#3149]
206
207</ol>
208<h3>Logging Subsystem Changes:</h3>
209<ol>
210
211<li>Fix a bug where running recovery on a database environment containing
212only logs from a previous release of Berkeley DB, in which log.0000000001
213doesn't exist, could fail. [#3380]
214<li>Fix a bug where opening too many files could cause a core dump. [#3399]
215<li>Fix a bug where resetting the log buffer size could cause a core
216dump. [#3855]
217<li>Fix a bug where files in the database environment similarly named to
218Berkeley DB log files could cause applications to fail. [#4234]
219
220</ol>
221<h3>Buffer Pool Subsystem Changes:</h3>
222<ol>
223
224<li>Fix a bug where incorrect values for the total size of the cache
225were being returned by the memp_stat interface. [#3638]
226<li>Fix a bug where the clean-page count for the Berkeley DB buffer cache could become incorrect. [#3679]
227<li>Fix a bug where checkpoints could not succeed if there was
228a temporary backing file for which the process did not have
229an open file descriptor. [#3826]
230<li>Detect unreasonable cache sizes, fix a bug where 4GB regions
231could drop core. [#3904]
232<li>Fix a bug where checkpoints could be blocked from ever completing if
233an application combined Berkeley DB access method use of the buffer pool
234with non-DB use. [#4058]
235<li>Fix a bug where dirty/clean page counts could be incorrect. [#4249]
236
237</ol>
238<h3>Transaction Subsystem Changes:</h3>
239<ol>
240
241<li>Fix a potential memory leak in the txn_stat interface. [#3426]
242
243</ol>
244<h3>Utility Changes:</h3>
245<ol>
246
247<li>Add a -f option to return only those database statistics that can
248be acquired without database traversal. [#2090]
249<li>Fix a bug in several utilities where a destroyed DB handle could be
250used after it was closed, resulting in core dumps. [#3565]
251<li>Fix a bug where db_load would fail in any environment supporting
252transactions. [#3565]
253<li>Fix a bug where db_stat could drop core if the environment had not
254been configured to support all services. [#3526]
255<li>Increase the size of the cache created by the db_dump utility
256when no pre-existing environment is specified. [#4192]
257
258</ol>
259<h3>Database or Log File On-Disk Format Changes:</h3>
260
261<blockquote>None.</blockquote>
262
263<h3>Configuration, Documentation, Portability and Build Changes:</h3>
264<ol>
265
266<li>Upgrade to config.guess version 1.193, config.sub version 1.207,
267autoconf version 2.50.
268<li>Fix a bug where log_archive could return EINVAL on VxWorks because
269checkpoint could zero out portions of the log.
270<li>Add the --with-uniquename=NAME configuration option so that multiple
271copies of Berkeley DB can be loaded into a single process. [#3025]
272<li>Document the relationship between log in-memory buffer size and log
273file size. [#3340]
274<li>Fix a bug where the user CFLAGS value was overwritten on Linux. [#3375]
275<li>Fix a bug where the db_recops type values were overwritten by
276#defines. [#3407]
277<li>PowerPC/GCC system mutexes were incorrect. [#3417]
278<li>Fix a bug where --enable-bigfile was incorrectly evaluated. [#3559]
279<li>Clarify lock_vec documentation with respect to structure fields. [#3552]
280<li>Fix a mutex memory leak on AIX and HPUX. [#3703]
281<li>Support by static and shared libraries by default. [#3722]
282<li>Add mutex support for GCC and Alpha/Sparc platforms. [#3780]
283<li>Fix Berkeley DB error messages with extraneous trailing
284newline characters. [#3915]
285<li>Fix a bug where installing or uninstalling the documentation
286could remove files other than Berkeley DB's. [#3960]
287<li>Fix a bug where ssize_t was typed as "int" on Win64. [#3948]
288<li>Fix a bug where recovery could fail and/or databases be corrupted
289for applications running on filesystems that do not zero out implicitly
290created blocks (for example, VxWorks and Windows 95/95). [#4025]
291
292</ol>
293
294</body>
295</html>
296