1<?xml version="1.0" encoding="UTF-8" standalone="no"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml"> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6 <title>Berkeley DB 4.6.21 Change Log</title> 7 <link rel="stylesheet" href="gettingStarted.css" type="text/css" /> 8 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /> 9 <link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" /> 10 <link rel="up" href="upgrade_4_6_toc.html" title="Chapter��43.��Upgrading Berkeley DB 4.5 applications to Berkeley DB 4.6" /> 11 <link rel="prev" href="upgrade_4_6_disk.html" title="Release 4.6: Upgrade Requirements" /> 12 <link rel="next" href="upgrade_4_7_toc.html" title="Chapter��44.��Upgrading Berkeley DB 4.6 applications to Berkeley DB 4.7" /> 13 </head> 14 <body> 15 <div class="navheader"> 16 <table width="100%" summary="Navigation header"> 17 <tr> 18 <th colspan="3" align="center">Berkeley DB 4.6.21 Change Log</th> 19 </tr> 20 <tr> 21 <td width="20%" align="left"><a accesskey="p" href="upgrade_4_6_disk.html">Prev</a>��</td> 22 <th width="60%" align="center">Chapter��43.��Upgrading Berkeley DB 4.5 applications to Berkeley DB 4.6</th> 23 <td width="20%" align="right">��<a accesskey="n" href="upgrade_4_7_toc.html">Next</a></td> 24 </tr> 25 </table> 26 <hr /> 27 </div> 28 <div class="sect1" lang="en" xml:lang="en"> 29 <div class="titlepage"> 30 <div> 31 <div> 32 <h2 class="title" style="clear: both"><a id="changelog_4_6"></a>Berkeley DB 4.6.21 Change Log</h2> 33 </div> 34 </div> 35 </div> 36 <div class="toc"> 37 <dl> 38 <dt> 39 <span class="sect2"> 40 <a href="changelog_4_6.html#id1653387">4.6.21 Patches:</a> 41 </span> 42 </dt> 43 <dt> 44 <span class="sect2"> 45 <a href="changelog_4_6.html#id1653476">4.6.19 Patches</a> 46 </span> 47 </dt> 48 <dt> 49 <span class="sect2"> 50 <a href="changelog_4_6.html#id1653546">Database or Log File On-Disk Format Changes:</a> 51 </span> 52 </dt> 53 <dt> 54 <span class="sect2"> 55 <a href="changelog_4_6.html#id1653580">New Features:</a> 56 </span> 57 </dt> 58 <dt> 59 <span class="sect2"> 60 <a href="changelog_4_6.html#id1653592">Database Environment Changes:</a> 61 </span> 62 </dt> 63 <dt> 64 <span class="sect2"> 65 <a href="changelog_4_6.html#id1653737">Concurrent Data Store Changes:</a> 66 </span> 67 </dt> 68 <dt> 69 <span class="sect2"> 70 <a href="changelog_4_6.html#id1653769">General Access Method Changes:</a> 71 </span> 72 </dt> 73 <dt> 74 <span class="sect2"> 75 <a href="changelog_4_6.html#id1653609">Btree Access Method Changes:</a> 76 </span> 77 </dt> 78 <dt> 79 <span class="sect2"> 80 <a href="changelog_4_6.html#id1653658">Hash Access Method Changes:</a> 81 </span> 82 </dt> 83 <dt> 84 <span class="sect2"> 85 <a href="changelog_4_6.html#id1653000">Queue Access Method Changes:</a> 86 </span> 87 </dt> 88 <dt> 89 <span class="sect2"> 90 <a href="changelog_4_6.html#id1652968">Recno Access Method Changes:</a> 91 </span> 92 </dt> 93 <dt> 94 <span class="sect2"> 95 <a href="changelog_4_6.html#id1653802">C++-specific API Changes:</a> 96 </span> 97 </dt> 98 <dt> 99 <span class="sect2"> 100 <a href="changelog_4_6.html#id1653809">Java-specific API Changes:</a> 101 </span> 102 </dt> 103 <dt> 104 <span class="sect2"> 105 <a href="changelog_4_6.html#id1653577">Java collections and bind API Changes:</a> 106 </span> 107 </dt> 108 <dt> 109 <span class="sect2"> 110 <a href="changelog_4_6.html#id1653968">Tcl-specific API Changes:</a> 111 </span> 112 </dt> 113 <dt> 114 <span class="sect2"> 115 <a href="changelog_4_6.html#id1653596">RPC-specific Client/Server Changes:</a> 116 </span> 117 </dt> 118 <dt> 119 <span class="sect2"> 120 <a href="changelog_4_6.html#id1653932">Replication Changes:</a> 121 </span> 122 </dt> 123 <dt> 124 <span class="sect2"> 125 <a href="changelog_4_6.html#id1653963">XA Resource Manager Changes:</a> 126 </span> 127 </dt> 128 <dt> 129 <span class="sect2"> 130 <a href="changelog_4_6.html#id1653009">Locking Subsystem Changes:</a> 131 </span> 132 </dt> 133 <dt> 134 <span class="sect2"> 135 <a href="changelog_4_6.html#id1653751">Logging Subsystem Changes:</a> 136 </span> 137 </dt> 138 <dt> 139 <span class="sect2"> 140 <a href="changelog_4_6.html#id1653827">Memory Pool Subsystem Changes:</a> 141 </span> 142 </dt> 143 <dt> 144 <span class="sect2"> 145 <a href="changelog_4_6.html#id1654190">Transaction Subsystem Changes:</a> 146 </span> 147 </dt> 148 <dt> 149 <span class="sect2"> 150 <a href="changelog_4_6.html#id1654216">Utility Changes:</a> 151 </span> 152 </dt> 153 <dt> 154 <span class="sect2"> 155 <a href="changelog_4_6.html#id1654015">Configuration, Documentation, Portability and Build Changes:</a> 156 </span> 157 </dt> 158 </dl> 159 </div> 160 <div class="sect2" lang="en" xml:lang="en"> 161 <div class="titlepage"> 162 <div> 163 <div> 164 <h3 class="title"><a id="id1653387"></a>4.6.21 Patches:</h3> 165 </div> 166 </div> 167 </div> 168 <div class="orderedlist"> 169 <ol type="1"> 170 <li>Fix a bug where mutex contention in database environments configured 171for hybrid mutex support could result in performance degradation. 172[#15646]</li> 173 <li>Fix a bug where closing a database handle after aborting a 174transaction which included a failed open of that database handle could 175result in application failure. [#15650]</li> 176 <li>Fix multiple MVCC bugs including a race which <span class="emphasis"><em>could result in 177 incorrect data being returned</em></span> to the application. [#15653]</li> 178 <li>Fix a bug where a database store into a Hash database could 179self-deadlock in a database environment configured for the Berkeley DB 180Concurrent Data Store product and with a free-threaded DB_ENV or DB 181handle. [#15718]</li> 182 <li>Fix an installation bug where Berkeley DB's PHP header file was not 183 installed in the correct place.</li> 184 </ol> 185 </div> 186 </div> 187 <div class="sect2" lang="en" xml:lang="en"> 188 <div class="titlepage"> 189 <div> 190 <div> 191 <h3 class="title"><a id="id1653476"></a>4.6.19 Patches</h3> 192 </div> 193 </div> 194 </div> 195 <div class="orderedlist"> 196 <ol type="1"> 197 <li>Fix a bug where a client in a two-site replication group could 198become master, after failure of the existing master, even if the client 199had priority 0. [#15388]</li> 200 <li>Fix a bug where 32-bit builds on 64-bit machines could immediately 201 core dump because of a misaligned access. [#15643]</li> 202 <li>Fix a bug where attempts to configure a database for MVCC in the 203 Java API were silently ignored. [#15644]</li> 204 <li>Fix a bug where database environments configured for replication and 205 verbose output could drop core. [#15651]</li> 206 </ol> 207 </div> 208 </div> 209 <div class="sect2" lang="en" xml:lang="en"> 210 <div class="titlepage"> 211 <div> 212 <div> 213 <h3 class="title"><a id="id1653546"></a>Database or Log File On-Disk Format Changes:</h3> 214 </div> 215 </div> 216 </div> 217 <div class="orderedlist"> 218 <ol type="1"> 219 <li>The on-disk log format has changed.</li> 220 <li>The format of Hash database pages was changed in the Berkeley DB 4.6 221 release, and items are now stored in sorted order. 222<span class="emphasis"><em>The format changes are entirely backward-compatible, and no database 223upgrades are needed.</em></span> 224However, upgrading existing databases can offer significant performance 225improvements. Note that databases created using the 4.6 release may not 226be usable with earlier Berkeley DB releases.</li> 227 </ol> 228 </div> 229 </div> 230 <div class="sect2" lang="en" xml:lang="en"> 231 <div class="titlepage"> 232 <div> 233 <div> 234 <h3 class="title"><a id="id1653580"></a>New Features:</h3> 235 </div> 236 </div> 237 </div> 238 <div class="orderedlist"> 239 <ol type="1"> 240 <li>Add support for a cursor DB_PREV_DUP flag, which moves the cursor 241to the previous key/data pair if it's a duplicate of the current 242key/data pair. [#4801]</li> 243 <li>Add the ability to set cache page priority on a database or cursor 244 handle. [#11886]</li> 245 <li>Add verbose output tracing for filesystem operations. [#13760]</li> 246 <li>Port Berkeley DB to Qualcomm's Binary Runtime Environment for 247 Wireless (BREW). [#14562]</li> 248 <li>Port Berkeley DB to WinCE. [#15312]</li> 249 <li>Port Berkeley DB to S60. [#15371]</li> 250 <li>Add a key_exists method to the DB handle. [#15374]</li> 251 <li>Applications may now begin processing new transactions while previously 252 prepared, but unresolved, transactions are still pending. [#14754]</li> 253 <li>Significant performance improvements in the Hash access method. [#15017]</li> 254 </ol> 255 </div> 256 </div> 257 <div class="sect2" lang="en" xml:lang="en"> 258 <div class="titlepage"> 259 <div> 260 <div> 261 <h3 class="title"><a id="id1653592"></a>Database Environment Changes:</h3> 262 </div> 263 </div> 264 </div> 265 <div class="orderedlist"> 266 <ol type="1"> 267 <li>Add support to close open file handles in the case of catastrophic 268database environment failure so applications that do not exit and 269restart on failure won't leak file handles. [#6538]</li> 270 <li>Replace the Berkeley DB shared memory allocator with a new 271implementation, intended to decrease the performance drop-off seen in 272database environments having working sets that are larger than the 273cache, especially database environments with multiple cache page sizes. 274[#13122]</li> 275 <li>Fix a bug that would incorrectly cause a thread to appear to be 276 in the Berkeley DB API after a call to db_create. [#14562]</li> 277 <li>Allow database close prior to resolving all transactions updating 278 the database. [#14785]</li> 279 <li>Fix a bug where the db_stat utility -Z flag and the statistics 280method's DB_STAT_CLEAR flag could clear mutex statistics too quickly, 281leading to incorrect values being displayed. [#15032]</li> 282 <li>Fix a bug where removal of a file after and open/close pair spanning 283the most recent checkpoint log-sequence-numbers made recovery fail. 284[#15092]</li> 285 <li>Fix a bug that could leave an environment unrecoverable if FTRUNCATE 286was not set and a roll-forward to a timestamp was interrupted between the 287truncation of the log and the recording of aborted allocations. [#15108]</li> 288 <li> Fix a bug where recovery of a rename operation could fail if the 289 rename occurred in a directory that no longer existed. [#15119]</li> 290 <li>Fix a bug that could cause recovery to report a "File exists" 291error if a committed create was partially recovered by a previously 292failed recovery operation. [#15151]</li> 293 <li>Fix a bug where the DbEnv.get_thread_count method implementation was 294 missing from the Berkeley DB 4.5 release. [#15201]</li> 295 <li>Fix a bug where replication operations were not reported properly 296 when the DbEnv.failchk method was called. [#15094]</li> 297 <li> Fixed a bug that caused SEQ->remove not to use a transaction 298if the sequence was opened on a transactional database handle but no 299transaction was specified on the call. [#15235]</li> 300 <li>Fix a bug where accesses to the database environment reference count 301could race, causing the DB_ENV->remove method to incorrectly remove 302or not remove a database environment. [#15240]</li> 303 <li>Fix a bug that could cause a recovery failure if a partial record 304was written near the end of a log file before a crash and then never 305overwritten after recovery runs and before a log file switch occurs. 306[#15302]</li> 307 <li>Fix a bug that could fire a diagnostic assertion if an error occurred 308 during a database environment open. [#15309]</li> 309 <li> Fix a bug where memp_trickle attempts to flush an infinite number 310 of buffers. [#15342]</li> 311 <li>Cause application updates of the DB_ENV->set_mp_max_write values 312 to affect already running cache flush operations. [#15342]</li> 313 <li>Fix a bug which could cause system hang if a checkpoint happened at 314 the same time as a database file create or rename. [#15346]</li> 315 <li>Fix a bug which could cause application failure if the open of a 316 subdatabase failed while other database opens were happening. [#15346]</li> 317 <li>Fix a bug that could cause recovery to not process a transaction 318properly if the transaction was started before the transaction IDs were 319reset but did not put its first record into the log until after the 320txn_recycle record. [#15400]</li> 321 <li>Fix a bug that could cause a thread in cache allocation to loop 322 infinitely. [#15406]</li> 323 <li>Fix a bug that could cause recovery to report a Log Sequence Error 324on systems without the ftruncate system call where a page allocation 325occurred and the database metadata page was forced out of cache without 326being marked dirty and then had to be recovered. [#15441]</li> 327 <li>Fix a bug on systems lacking the ftruncate system call, where a page 328may be improperly linked into the free list if archive recovery was done 329in multiple steps, that is, applying additional logs to the same 330databases. [#15557]</li> 331 </ol> 332 </div> 333 </div> 334 <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id1653737"></a>Concurrent Data Store Changes:</h3></div></div></div> 335 336None. 337</div> 338 <div class="sect2" lang="en" xml:lang="en"> 339 <div class="titlepage"> 340 <div> 341 <div> 342 <h3 class="title"><a id="id1653769"></a>General Access Method Changes:</h3> 343 </div> 344 </div> 345 </div> 346 <div class="orderedlist"> 347 <ol type="1"> 348 <li>Add a feature where applications can specify a custom comparison 349 function for the Hash access method [#4109]</li> 350 <li>Open, create, close and removal of non-transactional databases is 351are longer logged in transactional database environments unless debug 352logging is enabled. [#8037]</li> 353 <li>Add the ability to set cache page priority on a database or cursor 354 handle. [#11886]</li> 355 <li>fix a bug where the DB_ENV->fileid_reset method failed when 356 called on on encrypted or check-summed databases. [#13990]</li> 357 <li>Fix a bug where the DB->fd method failed when called on 358 in-memory databases. [#14157]</li> 359 <li>Fix a bug where an attempt to open a Recno database with a backing 360file that does not exist could report an error because it couldn't 361remove a temporary file. [#14160]</li> 362 <li>Reverse a change found in previous releases which disallowed setting 363 "partial" flags on key DBTs for DB and DbCursor put method calls. [#14520]</li> 364 <li>Fix a bug where transactional file operations, such as remove or 365 rename, could leak file handles. [#15222]</li> 366 <li>Fix a bug that could cause the in-memory sorted freelist used by the 367DB->compact method not to be freed if transaction or lock timeouts 368were set in the environment. [#15292]</li> 369 <li>Add the DB->get_multiple method, which returns if the DB handle 370 references a "master" database in the physical file. [#15352]</li> 371 <li>Fix a bug that could cause an DB_INORDER, DB->get method 372DB_CONSUME operation to loop if the Queue database was missing a record 373due to a rollback by a writer or a non-queue insert in the queue. 374[#15452]</li> 375 <li>Fix a bug preventing database removal after application or system 376failure in a database environment configured for in-memory logging. 377[#15459]</li> 378 </ol> 379 </div> 380 </div> 381 <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id1653609"></a>Btree Access Method Changes:</h3></div></div></div> 382 383None. 384</div> 385 <div class="sect2" lang="en" xml:lang="en"> 386 <div class="titlepage"> 387 <div> 388 <div> 389 <h3 class="title"><a id="id1653658"></a>Hash Access Method Changes:</h3> 390 </div> 391 </div> 392 </div> 393 <div class="orderedlist"> 394 <ol type="1"> 395 <li>Change the internal format of Hash database pages, storing items in 396sorted order. There are no externally visible changes, and hash 397databases using historic on-page formats do not require an explicit 398upgrade. (However, upgrading existing databases can offer significant 399performance improvements.) [#15017]</li> 400 <li>Fix a bug preventing LSNs from being reset on hash databases when 401the databases were configured with a non-standard hash function. 402[#15567]</li> 403 </ol> 404 </div> 405 </div> 406 <div class="sect2" lang="en" xml:lang="en"> 407 <div class="titlepage"> 408 <div> 409 <div> 410 <h3 class="title"><a id="id1653000"></a>Queue Access Method Changes:</h3> 411 </div> 412 </div> 413 </div> 414 <div class="orderedlist"> 415 <ol type="1"> 416 <li>Fix a bug which could cause a Queue extent file to be incorrectly 417removed if an empty extent file was being closed by one thread and being 418updated by another thread (which was using random access operations). 419[#9101]</li> 420 </ol> 421 </div> 422 </div> 423 <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id1652968"></a>Recno Access Method Changes:</h3></div></div></div> 424 425None. 426</div> 427 <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id1653802"></a>C++-specific API Changes:</h3></div></div></div> 428 429None. 430</div> 431 <div class="sect2" lang="en" xml:lang="en"> 432 <div class="titlepage"> 433 <div> 434 <div> 435 <h3 class="title"><a id="id1653809"></a>Java-specific API Changes:</h3> 436 </div> 437 </div> 438 </div> 439 <div class="orderedlist"> 440 <ol type="1"> 441 <li>Add a feature where an exception is thrown by the Java API, the 442Berkeley DB error message is now included in the exception object. 443[#11870]</li> 444 <li>Fix a bug which can cause a JVM crash when doing a partial get 445 operation. [#15143]</li> 446 <li>Fix a bug which prevented the use of Berkeley DB sequences from 447 Java. [#15220]</li> 448 <li>Fix multiple bugs where DBTs were not being copied correctly in the 449 Java replication APIs. [#15223]</li> 450 <li>Add transaction.commitWriteNoSync to the Java API. [#15376]</li> 451 </ol> 452 </div> 453 </div> 454 <div class="sect2" lang="en" xml:lang="en"> 455 <div class="titlepage"> 456 <div> 457 <div> 458 <h3 class="title"><a id="id1653577"></a>Java collections and bind API Changes:</h3> 459 </div> 460 </div> 461 </div> 462 <div class="orderedlist"> 463 <ol type="1"> 464 <li>Change SerialBinding to use the current thread's context class 465loader when loading application classes. This allows the JE jar file 466to be deployed in application servers and other containers as a shared 467library rather than as an application jar. [#15447]</li> 468 <li>Tuple bindings now support the java.math.BigInteger type. Like other 469tuple binding values, BigInteger values are sorted in natural integer 470order by default, without using a custom comparator. For details please 471see the Javadoc for: com.sleepycat.bind.tuple.TupleInput.readBigInteger 472com.sleepycat.bind.tuple.TupleOutput.writeBigInteger 473com.sleepycat.bind.tuple.BigIntegerBinding [#15244]</li> 474 <li>Add tuple binding methods for reading and writing packed int and 475long values. Packed integer values take less space, but take slightly 476more processing time to read and write. See: TupleInput.readPackedInt 477TupleInput.getPackedIntByteLength TupleInput.readPackedLong 478TupleInput.getPackedLongByteLength TupleOutput.writePackedInt 479TupleOutput.writePackedLong PackedInteger [#15422]</li> 480 <li>The Collections API has been enhanced so that auto-commit works for 481the standard Java Iterator.remove(), set() and add() methods. Previously 482it was necessary to explicitly begin and commit a transaction in order 483to call these methods, when the underlying Database was transactional. 484Note that starting a transaction is still necessary when calling these 485methods if the StoredCollection.storedIterator method is used. [#15401]</li> 486 <li>Fix a bug that causes a memory leak for applications where both of 487the following are true: many Environment objects are opened and closed, 488and the CurrentTransaction or TransactionRunner class is used. [#15444]</li> 489 </ol> 490 </div> 491 </div> 492 <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id1653968"></a>Tcl-specific API Changes:</h3></div></div></div> 493 494None. 495</div> 496 <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id1653596"></a>RPC-specific Client/Server Changes:</h3></div></div></div> 497 498None. 499</div> 500 <div class="sect2" lang="en" xml:lang="en"> 501 <div class="titlepage"> 502 <div> 503 <div> 504 <h3 class="title"><a id="id1653932"></a>Replication Changes:</h3> 505 </div> 506 </div> 507 </div> 508 <div class="orderedlist"> 509 <ol type="1"> 510 <li>Fix a bug where transactions could be rolled-back if an existing 511replication group master was partitioned and unable to participate in 512an election. [#14752]</li> 513 <li>Add a new event when a replication manager framework master fails 514to send and confirm receipt by clients of a "permanent" message. 515[#14775]</li> 516 <li>Fix a race where multiple threads might attempt to process a 517 LOGREADY condition. [#14902]</li> 518 <li>Change the DB_VERB_REPLICATION flag to no longer require the 519Berkeley DB library be built with the --enable-diagnostic configuration 520option to output additional replication logging information. [#14991]</li> 521 <li>Fix a bug with elections occurring during internal init of a 522 replication client site. [#15057]</li> 523 <li>Fix lockout code to lockout message threads and API separately. 524 Send indication that log requests is for internal init. [#15067]</li> 525 <li>Replication manager changed to retry host-name look-up failures, 526since they could be caused by transient name server outage. 527[#15081]</li> 528 <li>Fix a bug which led to memory corruption when the sending of a bulk 529 buffer resulted in an error. [#15100]</li> 530 <li>A throttling limit of 10 megabytes is now set by default in a newly 531created database environment (see the DbEnv.rep_set_limit method). 532[#15115]</li> 533 <li>Fix a bug in ALL_REQ handling where master could get a DB_NOTFOUND. 534 [#15116]</li> 535 <li>Fix a bug which could lead to client sites repeatedly but unproductively 536 calling for an election, when a master site already exists. [#15128]</li> 537 <li>Modify gap processing algorithms so XXX_MORE messages ask for data 538beyond what it just processed, not an earlier gap that might exist. 539[#15136]</li> 540 <li>Fixed a bug in the ex_rep example application which could cause the 541last few transactions to disappear when shutting down the sites of the 542replication group gracefully. [#15162]</li> 543 <li>Fix a bug where if a client crashed during internal init, its 544database environment would be left in a confused state, making it 545impossible to synchronize again with the master. [#15177]</li> 546 <li>Fix a bug where election flags are not cleared atomically with the 547 setting of the new master ID. [#15186]</li> 548 <li>Fix a bug which would cause Berkeley DB to crash if an internal init 549 happened when there were no database files at the master. [#15227]</li> 550 <li>It is now guaranteed that the DB_EVENT_REP_STARTUPDONE event will 551be presented to the application after the corresponding 552DB_EVENT_REP_NEWMASTER event, even in the face of extreme scheduling 553anomalies. [#15265]</li> 554 <li>Fix minor memory leaks in the replication manager. [#15239] [#15256]</li> 555 <li>Fix a bug which caused the replication manager to lose track of a 556failed connection, resulting in the inability to accept a replacement 557connection. [#15311]</li> 558 <li>Fix a bug where a client starting an election when the rest of the 559replication group already had an established master could confuse 560replication management at the other client sites, leading to failure to 561properly acknowledge PERM transactions from the master. [#15428]</li> 562 <li>Add support for reporting Replication Manager statistics. [#15430]</li> 563 <li>Fix a bug where a send failure during processing of a request 564message from a client could erroneously appear to the application as an 565EPERM system error. [#15436]</li> 566 <li>Client now sets STARTUPDONE at the end of the synchronization phase 567when it has caught up to the end of the master's transaction log, without 568requiring ongoing transactions at the master. [#15542]</li> 569 <li>Fix a bug in sleep-time calculation which could cause a Replication 570 Manager failure. [#15552]</li> 571 </ol> 572 </div> 573 </div> 574 <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id1653963"></a>XA Resource Manager Changes:</h3></div></div></div> 575 576None. 577</div> 578 <div class="sect2" lang="en" xml:lang="en"> 579 <div class="titlepage"> 580 <div> 581 <div> 582 <h3 class="title"><a id="id1653009"></a>Locking Subsystem Changes:</h3> 583 </div> 584 </div> 585 </div> 586 <div class="orderedlist"> 587 <ol type="1"> 588 <li>Change the DB_ENV->lock_detect method to return the number of 589transactions timed out in addition to those were rejected due to 590deadlock. [#15281]</li> 591 </ol> 592 </div> 593 </div> 594 <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id1653751"></a>Logging Subsystem Changes:</h3></div></div></div> 595 596None. 597</div> 598 <div class="sect2" lang="en" xml:lang="en"> 599 <div class="titlepage"> 600 <div> 601 <div> 602 <h3 class="title"><a id="id1653827"></a>Memory Pool Subsystem Changes:</h3> 603 </div> 604 </div> 605 </div> 606 <div class="orderedlist"> 607 <ol type="1"> 608 <li>Fix a bug that could cause a checkpoint to hang if a database was 609closed while the checkpoint was forcing that file to disk and all the 610pages for that database were replaced in the cache. [#15135]</li> 611 <li>Fix a bug where a system error in closing a file could result in a 612 core dump. [#15137]</li> 613 <li>Fix MVCC statistics counts for private database environments. [#15218]</li> 614 </ol> 615 </div> 616 </div> 617 <div class="sect2" lang="en" xml:lang="en"> 618 <div class="titlepage"> 619 <div> 620 <div> 621 <h3 class="title"><a id="id1654190"></a>Transaction Subsystem Changes:</h3> 622 </div> 623 </div> 624 </div> 625 <div class="orderedlist"> 626 <ol type="1"> 627 <li>Fix a bug where creating a database with the DB_TXN_NOTDURABLE flag 628 set would still write a log record. [#15386]</li> 629 <li>Change transaction checkpoint to wait only for pages being updated 630 during the checkpoint. [#14710]</li> 631 </ol> 632 </div> 633 </div> 634 <div class="sect2" lang="en" xml:lang="en"> 635 <div class="titlepage"> 636 <div> 637 <div> 638 <h3 class="title"><a id="id1654216"></a>Utility Changes:</h3> 639 </div> 640 </div> 641 </div> 642 <div class="orderedlist"> 643 <ol type="1"> 644 <li>Fix a bug that prevented db_load from handling subdatabase names 645 that were of zero length. [#8204]</li> 646 <li>Fix a bug where the db_hotbackup utility did not clean out and record 647the log file numbers in the backup directory when both the -u and -D flags 648were specified. [#15395]</li> 649 </ol> 650 </div> 651 </div> 652 <div class="sect2" lang="en" xml:lang="en"> 653 <div class="titlepage"> 654 <div> 655 <div> 656 <h3 class="title"><a id="id1654015"></a>Configuration, Documentation, Portability and Build Changes:</h3> 657 </div> 658 </div> 659 </div> 660 <div class="orderedlist"> 661 <ol type="1"> 662 <li>Berkeley DB no longer supports process-shared database environments 663on Windows 9X platforms; the DB_PRIVATE flag must always be specified 664to the DB_ENV->open method. [#13766]</li> 665 <li>Port Berkeley DB to Qualcomm's Binary Runtime Environment for 666 Wireless (BREW). [#14562]</li> 667 <li>Compile SWIG-generated code with the -fno-strict-aliasing flag when 668 using the GNU gcc compiler. [#14953]</li> 669 <li>Changed include files so ENOENT is resolved on Windows. [#15078]</li> 670 <li>Port Berkeley DB to WinCE. [#15312]</li> 671 <li>Port Berkeley DB to S60. [#15371]</li> 672 <li>Add the db_hotbackup executable to the Windows MSI installer. [#15372]</li> 673 <li>Change the db_hotbackup utility to use the Berkeley DB library 674 portability layer. [#15415]</li> 675 <li>Re-write the GNU gcc mutex implementation on the x86 platform to 676 avoid compiler errors. [#15461]</li> 677 <li>Fix a bug with non-HFS filesystems under OS X which could affect 678 data durability. [#15501]</li> 679 </ol> 680 </div> 681 </div> 682 </div> 683 <div class="navfooter"> 684 <hr /> 685 <table width="100%" summary="Navigation footer"> 686 <tr> 687 <td width="40%" align="left"><a accesskey="p" href="upgrade_4_6_disk.html">Prev</a>��</td> 688 <td width="20%" align="center"> 689 <a accesskey="u" href="upgrade_4_6_toc.html">Up</a> 690 </td> 691 <td width="40%" align="right">��<a accesskey="n" href="upgrade_4_7_toc.html">Next</a></td> 692 </tr> 693 <tr> 694 <td width="40%" align="left" valign="top">Release 4.6: Upgrade Requirements��</td> 695 <td width="20%" align="center"> 696 <a accesskey="h" href="index.html">Home</a> 697 </td> 698 <td width="40%" align="right" valign="top">��Chapter��44.��Upgrading Berkeley DB 4.6 applications to Berkeley DB 4.7</td> 699 </tr> 700 </table> 701 </div> 702 </body> 703</html> 704