<!--"$Id: 2.7.4.html,v 1.4 2007/05/17 18:17:18 bostic Exp $ (Sleepycat) $Date: 2007/05/17 18:17:18 $"--> <html> <head> <title>The Berkeley DB Package: DB 2.7.4 Change Log</title> <meta name="description" content="Berkeley DB: A database programmatic toolkit."> <meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods"> </head> <body bgcolor=white> <h3 align=center>Berkeley DB 2.7.4 Change Log</h3> Berkeley DB version 2.7.4 is version 2.7.3 with a set of specific bug fixes applied. There were no interface changes or new features. <h3>Bug Fixes:</h3> <ol> <p><li> When looking for an already open log file, do not examine a filename structure if its reference count is 0. This problem cannot cause data corruption, but may cause program failure. <p><li> Berkeley DB recovery assumes that there are at least two checkpoints. It was possible for log archival to leave the recovery area with only a single checkpoint. <p><li> Version 2.7.3 could not recover version 2.4.14 log files. <p><li> Database file opens after recovery could sometimes fail. <p><li> If only a single checkpoint is found, perform recovery from the beginning of the log. <p><li> The Btree access method delete-by-key code path did not always detect that a key/data pair was also referenced by a cursor, which could cause a cursor to reference incorrect data. <p><li> Concurrent Data Store operations could sometimes fail because write cursors were not correctly identified. <p><li> The DB_SET_RANGE flag did not always correctly deal with on-page deleted records in the Btree access method. <p><li> If the buffer cache was completely dirty, transaction checkpoints could pin down too many buffers and cause other operations to fail. <p><li> In non-threaded applications, change cursors to share a locker ID in order to avoid self-deadlocks. <p><li> In the Btree access method, when creating a new record and specifying a <b>dbt.off</b> offset value, the DB_DBT_PARTIAL flag was not handled correctly. <p><li> It was possible for the last-known-LSN-on-disk to not be set correctly during recovery, which could cause the loss of recovery's checkpoint record. <p><li> Test suite change: generate fail message if environment open doesn't work. <p><li> Defend against the possibility that records from multiple log files are present in the log buffer cache. <p><li> Reclaim lockers when using lock_vec to release locks. <p><li> Re-order subsystem close when closing the environment so that the logging subsystem can potentially flush buffers through the shared memory buffer pool. <p><li> Never attempt to grow the shared regions when initially connecting to the Berkeley DB environment. <p><li> Invalidate the local transaction structure after commit, abort or prepare, as the XA transaction manager does not call xa_end on commit, abort or prepare. <p><li> Allow either join or resume operations on XA start. <p><li> Update the version numbers from Berkeley DB 2.7.3 to Berkeley DB 2.7.4. </ol> </body> </html>