Berkeley DB 2.6.6 Change Log
Berkeley DB version 2.6.6 is version 2.6.5 with all released patches
applied.
Bug Fixes:
-
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.
-
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.
-
Version 2.6.5 cannot recover version 2.4.14 log files.
-
Database file opens after recovery could sometimes fail.
-
If only a single checkpoint is found, perform recovery from the beginning
of the log.
-
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.
-
Concurrent Data Store operations could sometimes fail because write
cursors were not correctly identified.
-
The DB_SET_RANGE flag did not always correctly deal with on-page deleted
records in the Btree access method.
-
If the buffer cache was completely dirty, transaction checkpoints could
pin down too many buffers and cause other operations to fail.
-
In the Btree access method, when creating a new record and specifying a
dbt.off offset value, the DB_DBT_PARTIAL flag was not handled
correctly.
-
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.
-
Reclaim lockers when using lock_vec to release locks.
-
Re-order subsystem close when closing the environment so that the logging
subsystem can potentially flush buffers through the shared memory buffer
pool.
-
Never attempt to grow the shared regions when initially connecting to the
Berkeley DB environment.
Other Changes:
-
In non-threaded applications, change cursors to share a locker ID in
order to avoid self-deadlocks.
-
Defend against the possibility that records from multiple log files are
present in the log buffer cache.
-
Test suite change: generate fail message if environment open doesn't work.
-
Update the version numbers from Berkeley DB 2.6.5 to Berkeley DB 2.6.6.