1<!--$Id: 3.1.17.html,v 1.4 2007/05/17 18:17:18 bostic Exp $--> 2<html> 3<head> 4<title>The Berkeley DB Package: DB 3.1.17 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.1.17 Change Log</h3> 11 12<h3>Database On-Disk Format Changes:</h3> 13 14<blockquote>None.</blockquote> 15 16<h3>Major New Features:</h3> 17 18<blockquote>None.</blockquote> 19 20<h3>Interface Additions and Changes:</h3> 21<ol> 22 23<li>The documentation for DB->set_feedback stated that the third 24argument to the callback function is "the percent of the operation 25remaining to be completed, specified as an integer value between 0 and 26100", implying that it's a countdown from 100 to 0. The actual 27implementation was to count upward from 0 to 100. The documentation 28has been changed to match the code. [#2310] 29 30</ol> 31<h3>General Environment Changes:</h3> 32<ol> 33 34<li>Fix a bug where attempts to remove a region never returned. [#2379] 35<li>Fix a typo in the freeing of the shared log region. [#2379] 36<li>Remove the requirement that all threads of control using System V 37shared memory for regions specify the base segment ID [#2379] 38<li>Fix a bug where applications using different sets of regions in an 39environment would fail when using System V shared memory for the regions. 40[#2379] 41<li>Fix a bug where the DB_USE_ENVIRON_ROOT flag was incorrectly tested, 42using the environment for processes without sufficient privilege. [#2400] 43<li>Fix a bug where the error prefix was ignored by the Db handle method 44error calls. [#2484] 45<li>Fix a bug where the db_archive utility could create an environment 46that would cause applications or other Berkeley DB utilities to fail. [#2524] 47 48</ol> 49<h3>General Access Method Changes:</h3> 50<ol> 51 52<li>Fix a memory leak in the DB->verify method. [#2347] 53<li>Fix memory leaks in DB->rename and DB->remove method 54recovery [#2363] 55<li>Fix a bug in the DB->verify method where 64K pages with large 56offsets were incorrectly verified. [#2408] 57<li>Fix a bug where data strings containing % characters could be 58corrupted by the DB->verify method. [#2427] 59<li>Fix a bug where the DB_TRUNCATE flag could trigger a program error 60if the database type was not specified. [#2423] 61<li>Fix a bug in the Concurrent Data Store product where operations 62could result in application hang or segmentation fault. [#2493] 63 64</ol> 65<h3>Btree Access Method Changes:</h3> 66<ol> 67 68<li>Fix a bug where uninitialized parts of a database page could be read 69and an incorrect record count returned. [#2250] 70<li>Fix a bug where reverse splits could corrupt a page under rare 71conditions. [#2362] 72<li>Fix a bug where cursors in the parent of a nested transaction could 73be incorrectly adjusted after a child transaction was aborted. [#2373] 74<li>Fix a bug where threads could race when updating a tree. [#2402] 75<li>Fix a bug where a lock was leaked by the DB->stat method. [#2418] 76<li>Fix a bug where DB->put could fail when the data matched a 77duplicate data item previously deleted using a still-open cursor. [#2451] 78<li>Fix a bug where one abort path after a page allocation could leak 79the page. [#2455] 80<li>Fix a bug where recovering the operation of moving on-page duplicates 81into their own tree could cause corruption. [#2459] 82<li>Fix a bug where moving on-page duplicates into their own tree could 83cause cursors on the same page to reference an invalid key/data pair. [#2462] 84<li>Fix a bug where an error could be ignored when reverse splitting 85the tree. [#2472] 86<li>Fix a bug where creating Btrees deeper than 5 levels could cause 87core dumps or out-of-memory errors. [#2514] 88<li>Fix a bug where the DB->verify method did not correctly diagnose 89Btree/Recno internal page references to invalid pages. [#2525] 90 91</ol> 92<h3>Hash Access Method Changes:</h3> 93 94<blockquote>None.</blockquote> 95 96<h3>Queue Access Method Changes:</h3> 97<ol> 98 99<li>Fix a bug where undo could happen incorrectly for record insert and 100delete. [#2298] 101<li>Fix a bug where a page could be leaked during Queue recovery. [#2431] 102 103</ol> 104<h3>Recno Access Method Changes:</h3> 105<ol> 106 107<li>Fix a bug where the delete flag was set incorrectly in renumbering 108Recno trees. [#2490] 109 110</ol> 111<h3>C++ API Changes:</h3> 112 113<blockquote>None.</blockquote> 114 115<h3>Java API Changes:</h3> 116<ol> 117 118<li>Fix a bug where the wrong classname was used to find the fieldId in 119storing back the DbEnv.private_dbobj field. [#1628] 120<li>Fix a Java documentation bug, the com.sleepycat.examples.AccessExample 121program removes the database so information from previous runs is not 122available. [#2385] 123<li>Fix a Java documentation bug, Db.del should show it returning int. 124[#2480] 125<li>Fix a bug where the Java Db.del API would fail to return 126Db.DB_NOTFOUND [#2480] 127<li>Fix a bug where the Db.DB_THREAD flag wasn't always set by Java. [#2492] 128 129</ol> 130<h3>Tcl API Changes:</h3> 131<ol> 132 133<li>Fix a bug where DB_USE_ENVIRON_ROOT was specified for the Tcl 134command -use_environ. [#2400] 135 136</ol> 137<h3>RPC Client/Server Changes:</h3> 138 139<blockquote>None.</blockquote> 140 141<h3>XA Resource Manager Changes:</h3> 142 143<blockquote>None.</blockquote> 144 145<h3>Locking Subsystem Changes:</h3> 146 147<blockquote>None.</blockquote> 148 149<h3>Logging Subsystem Changes:</h3> 150<ol> 151 152<li>Fix a bug where the underlying operating system sync interface could 153be unnecessarily (and repeatedly) called when performing transaction 154checkpoints. [#2287] 155<li>Fix a bug where a recovery diagnostic message displayed the wrong 156information. [#2449] 157 158</ol> 159<h3>Buffer Pool Subsystem Changes:</h3> 160<ol> 161 162<li>Fix a bug where calling memp_sync (including by transaction checkpoint) 163could cause shared region corruption and core dumps. [#2348, #2392] 164 165</ol> 166<h3>Transaction Subsystem Changes:</h3> 167<ol> 168 169<li>Fix a bug where recovery would succeed but drop core if no close 170record was ever written after the commit of a remove. [#2316] 171<li>Fix a bug where file ID mapping could be incorrect [#2324] 172<li>Fix a memory leak in abort of a nested transaction. [#2440] 173<li>Fix a freed memory reference when committing active child transactions 174during parent transaction commit. [#2457] 175 176</ol> 177<h3>Utility Changes:</h3> 178 179<blockquote>None.</blockquote> 180 181<h3>Configuration, Documentation, Portability and Build Changes:</h3> 182<ol> 183 184<li>Portability fixes to compile on SunOS 4.1.4. [#2309] 185<li>Fix a bug where VxWorks hash databases could be corrupted on dosFS 186filesystems because Berkeley DB did not correct for dirty filesystem 187reads. [#2317] 188<li>Add a workaround for a MoveFileEx bug in Windows/98 which caused 189the DB->rename method to fail. [#2341] 190<li>Fix a bug where the VxWorks support did not accept both slash and 191backslash as path separators. [#2393] 192<li>Fix a bug where VxWorks device names were not ignored when evaluating 193paths. [#2393] 194<li>Fix txn_begin documentation to correctly specify operations available 195to parent transactions with active child transactions. [#2457] 196<li>Fix txn_commit documentation to correctly specify effect of parent 197transaction commit on active child transactions. [#2457] 198<li>Fix a bug in the Reference Guide where txn_begin and txn_commit 199examples had the wrong arguments. [#2485] 200<li>Fix the documentation on extending Berkeley DB recovery to reference 201the correct filenames. [#2501] 202<li>Fix a bug where the DB_CLIENT flag was not listed in the C++/Java API 203DbEnv class constructor documentation. [#2510] 204<li>Fix a bug where the DbEnv->set_server interface was not documented 205for the C++/Java APIs. [#2510] 206<li>Fix the DBENV->remove method's argument documentation. [#2518] 207<li>Fix a bug where the Java DbEnv.strerror and version number methods 208weren't documented. [#2523] 209 210</ol> 211 212</body> 213</html> 214