mirror of
https://github.com/berkeleydb/libdb.git
synced 2024-11-17 09:36:24 +00:00
757 lines
33 KiB
HTML
757 lines
33 KiB
HTML
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|||
|
<head>
|
|||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|||
|
<title>Berkeley DB 4.4.16 Change Log</title>
|
|||
|
<link rel="stylesheet" href="gettingStarted.css" type="text/css" />
|
|||
|
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
|
|||
|
<link rel="start" href="index.html" title="Berkeley DB Upgrade Guide" />
|
|||
|
<link rel="up" href="upgrade_4_4_toc.html" title="Chapter 6. Upgrading Berkeley DB 4.3 applications to Berkeley DB 4.4" />
|
|||
|
<link rel="prev" href="upgrade_4_4_disk.html" title="Upgrade Requirements" />
|
|||
|
<link rel="next" href="changelog_4_4_20.html" title="Berkeley DB 4.4.20 Change Log" />
|
|||
|
</head>
|
|||
|
<body>
|
|||
|
<div xmlns="" class="navheader">
|
|||
|
<div class="libver">
|
|||
|
<p>Library Version 11.2.5.2</p>
|
|||
|
</div>
|
|||
|
<table width="100%" summary="Navigation header">
|
|||
|
<tr>
|
|||
|
<th colspan="3" align="center">Berkeley DB 4.4.16 Change Log</th>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td width="20%" align="left"><a accesskey="p" href="upgrade_4_4_disk.html">Prev</a> </td>
|
|||
|
<th width="60%" align="center">Chapter 6. Upgrading Berkeley DB 4.3 applications to Berkeley DB 4.4</th>
|
|||
|
<td width="20%" align="right"> <a accesskey="n" href="changelog_4_4_20.html">Next</a></td>
|
|||
|
</tr>
|
|||
|
</table>
|
|||
|
<hr />
|
|||
|
</div>
|
|||
|
<div class="sect1" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h2 class="title" style="clear: both"><a id="changelog_4_4_16"></a>Berkeley DB 4.4.16 Change Log</h2>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="toc">
|
|||
|
<dl>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3837772">Database or Log File On-Disk Format Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3837577">New Features:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3837584">Database Environment Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3837934">Concurrent Data Store Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3837704">General Access Method Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3837711">Btree Access Method Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3837781">Hash Access Method Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3837808">Queue Access Method Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3837834">Recno Access Method Changes</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3837813">C++-specific API Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3837863">Java-specific API Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3838209">Java collections and bind API Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3837943">Tcl-specific API Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3837667">RPC-specific Client/Server Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3838036">Replication Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3837755">XA Resource Manager Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3838100">Locking Subsystem Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3838105">Logging Subsystem Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3838452">Memory Pool Subsystem Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3838155">Transaction Subsystem Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3838153">Utility Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
<dt>
|
|||
|
<span class="sect2">
|
|||
|
<a href="changelog_4_4_16.html#id3838219">Configuration, Documentation, Portability and Build Changes:</a>
|
|||
|
</span>
|
|||
|
</dt>
|
|||
|
</dl>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3837772"></a>Database or Log File On-Disk Format Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>The on-disk log format has changed.</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3837577"></a>New Features:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Add support to compact an existing Btree database. [#6750]</li>
|
|||
|
<li>Add support for named in-memory databases. [#9927]</li>
|
|||
|
<li>Add support for database environment recovery serialization. This
|
|||
|
simplifies multiprocess application architectures. Add DB_REGISTER flag
|
|||
|
to DB_ENV->open(). [#11511]</li>
|
|||
|
<li>Add utility for performing hot backups of a database environment.
|
|||
|
[#11536]</li>
|
|||
|
<li>Add replication configuration API. [#12110]</li>
|
|||
|
<li>Add replication support to return error instead of waiting for
|
|||
|
client sync to complete. [#12110]</li>
|
|||
|
<li>Add replication support for delayed client synchronization. [#12110]</li>
|
|||
|
<li>Add replication support for client-to-client synchronization.
|
|||
|
[#12110]</li>
|
|||
|
<li>Add replication support for bulk transfer. [#12110]</li>
|
|||
|
<li>Add new flags DB_DSYNC_DB and DB_DSYNC_LOG [12941]</li>
|
|||
|
<li>Add DbEnv.log_printf, a new DbEnv method which logs printf style
|
|||
|
formatted strings into the Berkeley DB database environment log.
|
|||
|
[#13241]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3837584"></a>Database Environment Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Add a feature to support arbitrary alignment of mutexes in order to
|
|||
|
minimize cache line collisions. [#9580]</li>
|
|||
|
<li>Change cache regions on 64-bit machines to allow regions larger than
|
|||
|
4GB. [#10668]</li>
|
|||
|
<li>Fix a bug where a loop could occur if the application or system
|
|||
|
failed during modification of the linked list of shared regions.
|
|||
|
[#11532]</li>
|
|||
|
<li>Fix mutex alignment on Linux/PA-RISC, add test-and-set mutexes for
|
|||
|
MIPS and x86_64. [#11575]</li>
|
|||
|
<li>Fix a bug where private database environments (DB_PRIVATE) on 64-bit
|
|||
|
machines would core dump because of 64-bit address truncation. [#11983]</li>
|
|||
|
<li>Fix a bug where freed memory is accessed when DB_PRIVATE
|
|||
|
environments are closed. This can happen on systems where the operating
|
|||
|
system holds mutex resources that must be freed when the mutex is
|
|||
|
destroyed. [#12591]</li>
|
|||
|
<li>Fix a bug where the DbEnv.stat_print method could self-deadlock and
|
|||
|
hang. The DbEnv.stat_print method no longer displays statistics for any
|
|||
|
of the database environments databases. [#12039]</li>
|
|||
|
<li>Fix a bug where Berkeley DB could create fragmented
|
|||
|
filesystem-backed shared region files. [#12125]</li>
|
|||
|
<li>Fix a bug where Berkeley DB stat calls could report a cache size of
|
|||
|
0 after the statistics were cleared. [#12307]</li>
|
|||
|
<li>Threads of control joining database environments are now configured
|
|||
|
for all of the subsystems (lock, log, cache, or transaction) for which
|
|||
|
the environment was originally configured, it is now an error to attempt
|
|||
|
configuration of additional subsystems after an environment is created.
|
|||
|
[#12422]</li>
|
|||
|
<li>Fix a bug where negative percentages could be displayed in
|
|||
|
statistics output. [#12673]</li>
|
|||
|
<li>Fix a bug that could cause a panic if the cache is filled with
|
|||
|
non-logging updated pages. [#12763]</li>
|
|||
|
<li>Fix a bug that could cause an unreported deadlock if the application
|
|||
|
was using the DB_DIRTY_READ flag and the record was an off page
|
|||
|
duplicate record. [#12893]</li>
|
|||
|
<li>Fix a bug where a handle lock could be incorrectly retained during
|
|||
|
a delete or rename operation. [#12906]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3837934"></a>Concurrent Data Store Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Lock upgrades and downgrades are now accounted for separately from
|
|||
|
lock requests and releases. [#11155]</li>
|
|||
|
<li>Fix a bug where a second process joining a Concurrent Data Store
|
|||
|
environment, with the DB_CDB_ALLDB flag set, would fail. This would
|
|||
|
happen if the first thread were not entirely finished with
|
|||
|
initialization. [#12277]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3837704"></a>General Access Method Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Fix a bug where filesystem operations are improperly synchronized.
|
|||
|
[#10564]</li>
|
|||
|
<li>Add support for database files larger than 2GB on Windows. [#11839]</li>
|
|||
|
<li>Rename DB_DEGREE_2 (and all related flags) to DB_READ_COMMITTED.
|
|||
|
Rename DB_DIRTY (and all related flags) to DB_READ_UNCOMMITTED. [#11776]</li>
|
|||
|
<li>Fix a bug where wrapping of sequences was incorrect when the cache
|
|||
|
size is smaller than the range of the maximum value minus the minimum
|
|||
|
value. [#11997]</li>
|
|||
|
<li>Fix a bug that could result in a hot backup having a page missing
|
|||
|
from a database file if a file truncation was in progress during the
|
|||
|
backup but was then aborted. [#12017]</li>
|
|||
|
<li>Fix a bug where a long filename could cause one too few bytes to
|
|||
|
be allocated when opening a file. [#12085]</li>
|
|||
|
<li>Fix a bug in secondary cursor code if a write lock is not granted.
|
|||
|
[#12109]</li>
|
|||
|
<li>Fix a bug in secondary cursors where the current record would change
|
|||
|
on error. [#12141]</li>
|
|||
|
<li>Fix a bug in Db->truncate where the method was not checking to see
|
|||
|
if the handle was opened read-only. [#12179]</li>
|
|||
|
<li>Fix a bug in sequences so that they are now platform independent,
|
|||
|
taking into account little-endian and big-endian architectures. They
|
|||
|
will be automatically upgraded in 4.4. [#12202]</li>
|
|||
|
<li>Fix a bug with non-wrapping sequences when initial value was
|
|||
|
INT64_MIN. [#12390]</li>
|
|||
|
<li>Add a retry for operating system operations that return EIO (IO
|
|||
|
Error) to better support NFS mounted filesystems. [#12426]</li>
|
|||
|
<li>Fix sequence wrapping at INT64 limits. [#12520]</li>
|
|||
|
<li>Fix a bug where errors during DB->associate could leave secondaries
|
|||
|
half associated. [#13173]</li>
|
|||
|
<li>Fix a bug so that we no longer will update in CDS and DS if the file
|
|||
|
size limit will be exceeded. [#13222]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3837711"></a>Btree Access Method Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Remove maxkey configuration. [#8904]</li>
|
|||
|
<li>Fix a memory leak in operations on large Btrees. [#12000]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3837781"></a>Hash Access Method Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Fix a bug where access to HASH or encrypted database pages might be
|
|||
|
blocked during a checkpoint. [#11031]</li>
|
|||
|
<li>Fix a bug where recovery would fail when a database has a hash page
|
|||
|
on the free list and that hash page was freed without using transactions
|
|||
|
and later allocated and aborted within a transaction. [#11214]</li>
|
|||
|
<li>Fix a bug in hash duplicates where if the caller left garbage in the
|
|||
|
partial length field, we were using it. Fix a bug where a replacement
|
|||
|
of a hash item that should have gone on an overflow page, did not.
|
|||
|
[#11966]</li>
|
|||
|
<li>Fix a bug where free space was miscalculated when adding the first
|
|||
|
duplicate to an existing item and the existing item plus the new item
|
|||
|
does not fit on a page. [#12270]</li>
|
|||
|
<li>Fix a bug where allocations of hash buckets are not recovered
|
|||
|
correctly. [#12846]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3837808"></a>Queue Access Method Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Improve performance of deletes from a QUEUE database that does not
|
|||
|
have a secondary index. [#11538]</li>
|
|||
|
<li>Fix a bug where updates that do not use transactions, but do enable
|
|||
|
locking, failed to release locks. [#11669]</li>
|
|||
|
<li>Fix a bug where a transaction might not be rolled forward if the
|
|||
|
site was performing hot backups and an application aborted a prepared
|
|||
|
but not committed transaction. [#12181]</li>
|
|||
|
<li>Fix a bug with queue extents not being reclaimed. [#12249]</li>
|
|||
|
<li>Fix a bug where a record being inserted before the head of the queue
|
|||
|
could appear missing if DB_CONSUME is not specified. [#12919]</li>
|
|||
|
<li>Fix a bug that might cause recovery to move the head or tail of the
|
|||
|
queue to exclude a record that was deleted but whose transaction did not
|
|||
|
commit. [#13256]</li>
|
|||
|
<li>Fix a bug that could cause recovery to move the head or tail pointer
|
|||
|
beyond a record that was aborted but was rolled backward by recovery.
|
|||
|
[#13318]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id3837834"></a>Recno Access Method Changes</h3></div></div></div>
|
|||
|
|
|||
|
None.
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3837813"></a>C++-specific API Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Fix a bug so that a DbMemoryException will be raised during a
|
|||
|
DB_BUFFER_SMALL error. [#13273]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3837863"></a>Java-specific API Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Add VersionMismatchException to map the DB_VERSION_MISMATCH error.
|
|||
|
[#11429]</li>
|
|||
|
<li>Fix a bug in Environment.getConfiguration() method in non-crypto
|
|||
|
builds. [#11752]</li>
|
|||
|
<li>Fix a bug that caused a NullPointerException when using the
|
|||
|
MultipleDataEntry default constructor. [#11753]</li>
|
|||
|
<li>Fix handling of replication errors. [#11822]</li>
|
|||
|
<li>Remove EnvironmentConfig.setReadOnly() method. [#11882]</li>
|
|||
|
<li>Fix a bug where prefix strings in the error handler may be
|
|||
|
corrupted. [#11967]</li>
|
|||
|
<li>Fix a bug so that nested exceptions will appear in stack traces.
|
|||
|
[#11992]</li>
|
|||
|
<li>Fix a bug on LogSequenceNumber objects in the Java API. [#12223]</li>
|
|||
|
<li>Fix a bug when no files are returned from a call to
|
|||
|
DB_ENV->log_archive. [#12383]</li>
|
|||
|
<li>Fix a bug when multiple verbose flags are set. [#12383]</li>
|
|||
|
<li>Fix a bug so that an OutOfMemoryError is thrown when allocation
|
|||
|
fails in the JNI layer. [#13434]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3838209"></a>Java collections and bind API Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Binding performance has been improved by using System.arraycopy in
|
|||
|
the FastOutputStream and FastInputStream utility classes. [#12002]</li>
|
|||
|
<li>The objectToEntry method is now implemented in all TupleBinding
|
|||
|
subclasses (IntegerBinding, etc) so that tuple bindings are fully
|
|||
|
nestable. An example of this usage is a custom binding that dynamically
|
|||
|
discovers the data types of each of the properties of a Java bean class.
|
|||
|
For each property, it calls TupleBinding.getPrimitiveBinding using the
|
|||
|
property's type (class). When the custom binding's objectToEntry method
|
|||
|
is called, it in turn calls the objectToEntry method of the nested
|
|||
|
bindings for each property. [#12124]</li>
|
|||
|
<li>The getCause method for IOExceptionWrapper and
|
|||
|
RuntimeExceptionWrapper is now defined so that nested exceptions appear
|
|||
|
in stack traces for exceptions thrown by the collections API. [#11992]</li>
|
|||
|
<li>TupleBinding.getPrimitiveBinding can now be passed a primitive type
|
|||
|
class as well as a primitive wrapper class. The return value for
|
|||
|
Integer.TYPE and Integer.class, for example, will be the same binding.
|
|||
|
[#12035]</li>
|
|||
|
<li>Improvements have been made to prevent the buffer used in serial and
|
|||
|
tuple bindings from growing inefficiently, and to provide more
|
|||
|
alternatives for the application to specify the desired size. For
|
|||
|
details see com.sleepycat.bind.serial.SerialBase and
|
|||
|
com.sleepycat.bind.tuple.TupleBase. [#12398]</li>
|
|||
|
<li>Add StoredContainer.getCursorConfig, deprecate isDirtyRead.
|
|||
|
Deprecate StoredCollections.dirtyReadMap (dirtyReadSet, etc) which is
|
|||
|
replaced by configuredMap (configuredSet, etc). Deprecated
|
|||
|
StoredContainer.isDirtyReadAllowed with no replacement (please use
|
|||
|
DatabaseConfig.getDirtyRead). Also note that
|
|||
|
StoredCollections.configuredMap (configuredSet, etc) can be used to
|
|||
|
configure read committed and write lock containers, as well as read
|
|||
|
uncommitted containers, since all CursorConfig properties are supported.
|
|||
|
[#11776]</li>
|
|||
|
<li>Add the protected method SerialBinding.getClassLoader so that
|
|||
|
subclasses may return a specific or dynamically determined class loader.
|
|||
|
Useful for applications which use multiple class loaders, including
|
|||
|
applications that serialize Groovy-defined classes. [#12764] [#12749]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3837943"></a>Tcl-specific API Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Fix a bug that could cause a memory leak in the replication test
|
|||
|
code. [#13436]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3837667"></a>RPC-specific Client/Server Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Fix double-free in RPC server when handling an out-of-memory error.
|
|||
|
[#11852]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3838036"></a>Replication Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Fix race condition (introduced in 4.3) in rep_start function.
|
|||
|
[#11030]</li>
|
|||
|
<li>Changed internal initialization to no longer store records. [#11090]</li>
|
|||
|
<li>Add support for replication bulk transfer. [#11099]</li>
|
|||
|
<li>Berkeley DB now calls check_doreq function for MASTER_REQ messages.
|
|||
|
[#11207]</li>
|
|||
|
<li>Fix a bug where transactions could be counted incorrectly during
|
|||
|
txn_recover. [#11257]</li>
|
|||
|
<li>Add DB_REP_IGNORE flag so that old messages (especially PERM
|
|||
|
messages) can be ignored by applications. [#11585]</li>
|
|||
|
<li>Fix a bug where op_timestamp was not initialized. [#11795]</li>
|
|||
|
<li>Fix a bug in db_refresh where a client would write a log record on
|
|||
|
closing a file. [#11892]</li>
|
|||
|
<li>Fix backward arguments in C++ rep_elect API. [#11906]</li>
|
|||
|
<li>Fix a bug where a race condition could happen between downgrading a
|
|||
|
master and a database update operation. [#11955]</li>
|
|||
|
<li>Fix a bug on VERIFY_REQ. We now honor wait recs/rcvd. [#12097]</li>
|
|||
|
<li>Fix a bug in rebroadcast of verify_req by initializing lp->wait_recs
|
|||
|
when finding a new master. [#12097]</li>
|
|||
|
<li>Fix a bug by adding lockout checking to __env_rep_enter since
|
|||
|
rename/remove now call it. [#12192]</li>
|
|||
|
<li>Fix a bug so that we now skip __db_chk_meta if we are a rep client.
|
|||
|
[#12316]</li>
|
|||
|
<li>Fix a replication failure on Windows. [#12331]</li>
|
|||
|
<li>Remove master discovery phase from rep_elect as a performance
|
|||
|
improvement to speed up elections. [#12551]</li>
|
|||
|
<li>Fix a bug to avoid multiple data streams when issuing al ALL_REQ.
|
|||
|
[#12595]</li>
|
|||
|
<li>Fix a bug to request the remaining gap again if the gap record is
|
|||
|
dropped after we receive the singleton. [#12974]</li>
|
|||
|
<li>Fix a bug in internal initialization when master changes in the
|
|||
|
middle of initializing. [#13074]</li>
|
|||
|
<li>Fix a bug in replication/archiving with internal init. [#13110]</li>
|
|||
|
<li>Fix pp handling of db_truncate. [#13115]</li>
|
|||
|
<li>Fix a bug where rep_timestamp could be updated when it should not
|
|||
|
be updated. [#13331]</li>
|
|||
|
<li>Fix a bug with bulk transfer when toggling during updates. [#13339]</li>
|
|||
|
<li>Change EINVAL error return to DB_REP_JOIN_FAILURE. [#12110]</li>
|
|||
|
<li>Add C++ exception for DB_REP_HANDLE_DEAD. [#13361]</li>
|
|||
|
<li>Fix a bug where starting an election concurrently with processing a
|
|||
|
NEWMASTER message could cause the send function to be called with an
|
|||
|
invalid eid. [#13403]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id3837755"></a>XA Resource Manager Changes:</h3></div></div></div>
|
|||
|
|
|||
|
None.
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id3838100"></a>Locking Subsystem Changes:</h3></div></div></div>
|
|||
|
|
|||
|
None.
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3838105"></a>Logging Subsystem Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Add set_log_filemode for applications that need to set an absolute
|
|||
|
file mode on log files. [#8747]</li>
|
|||
|
<li>Fix a bug that caused Not Found to be returned if a log file exists
|
|||
|
but is not readable. [#11185]</li>
|
|||
|
<li>Removed checksum of records with an in-memory log buffer. [#11280]</li>
|
|||
|
<li>Fix a bug so that the DB_LOG_INMEMORY flag can no longer be set
|
|||
|
after calling DB_ENV->open. [#11436]</li>
|
|||
|
<li>Fix a bug introduced after release 4.0 where two simultaneous
|
|||
|
checkpoints could cause ckp_lsn values to be out of order. [#12094]</li>
|
|||
|
<li>Fix a bug when in debug mode and using the DEBUG_ROP which will now
|
|||
|
log read operations in __dbc_logging. [#12303]</li>
|
|||
|
<li>Fix a bug where failing to write a log record on a file close would
|
|||
|
result in a core dump later. [#12460]</li>
|
|||
|
<li>Fix a bug where automatic log file removal, or the return of log
|
|||
|
files using an absolute path, could fail silently if the applications
|
|||
|
current working directory could not be reached using the systems getcwd
|
|||
|
library call. [#12505]</li>
|
|||
|
<li>Avoid locking the log region if we are not going to flush the log.
|
|||
|
This can improve performance for some write-intensive application
|
|||
|
workloads. [#13090]</li>
|
|||
|
<li>Fix a bug with a possible segment fault when memp_stat_print is
|
|||
|
called on a temporary database. [#13315]</li>
|
|||
|
<li>Fix a bug where log_stat_print could deadlock with threads during a
|
|||
|
checkpoint. [#13315]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3838452"></a>Memory Pool Subsystem Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Fix a bug where modified database pages might not be flushed if
|
|||
|
recovery were run and all pages from a database were found in the system
|
|||
|
cache and up to date, followed by a system crash. [#11654]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3838155"></a>Transaction Subsystem Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Add new DbTxn class methods allowing applications to set/get a
|
|||
|
descriptive name associated with a transaction. The descriptive name
|
|||
|
is also displayed by the db_stat utility. [#0382]</li>
|
|||
|
<li>Fix a bug where aborting a transaction with a large number of nested
|
|||
|
transactions could take a long time. [#10972]</li>
|
|||
|
<li>Add support to allow the TXN_WRITE_NOSYNC flag to be specified on
|
|||
|
the transaction handle. [#11151]</li>
|
|||
|
<li>Fix a bug that could cause a page to be on the free list twice if
|
|||
|
it was originally put on the free list by a non-transactional update and
|
|||
|
then reallocated in a transaction that aborts. [#11159]</li>
|
|||
|
<li>Remove the requirement for the DB_AUTO_COMMIT flag to make database
|
|||
|
operations transactional. Specifying the database environment as
|
|||
|
transactional or opening the database handle transactionally is
|
|||
|
sufficient. [#11302]</li>
|
|||
|
<li>Fix a bug so that environments created from errant programs that
|
|||
|
called dbp->close while transactions were still active can now be
|
|||
|
recovered. [#11384]</li>
|
|||
|
<li>Fix a bug that caused free pages at the end of a file to be
|
|||
|
truncated during recovery rather than placed on the free page list.
|
|||
|
[#11643]</li>
|
|||
|
<li>Fix a bug that caused a page to have the wrong type if the truncate
|
|||
|
of a BREE or RECNO database needed to be rolled forward. [#11670]</li>
|
|||
|
<li>Fix a bug when manually undoing a subdb create, dont try to free a
|
|||
|
root page that has not been allocated. [#11925]</li>
|
|||
|
<li>Add a check on database open to see if log files were incorrectly
|
|||
|
removed by system administration mistakes. [#12178]</li>
|
|||
|
<li>Fix a bug when calling DB->pget and then specifying the
|
|||
|
DB_READ_COMMITTED (DB_DEGREE_2) on a cursor. If followed by a
|
|||
|
DBC->c_pget, the primary database would incorrectly remain locked.
|
|||
|
[#12410]</li>
|
|||
|
<li>Fix a bug where the abort of a transaction in which a sub database
|
|||
|
was opened with the DB_TXN_NOT_DURABLE flag could fail. [#12420]</li>
|
|||
|
<li>Fix a bug that could cause an abort transaction that allocated new
|
|||
|
pages to a file that were not flushed to disk prior to the abort
|
|||
|
transaction to report out of disk space. [#12743]</li>
|
|||
|
<li>Fix a bug that could prevent multiple creates and destroys of the
|
|||
|
same file to be recovered correctly. [#13026]</li>
|
|||
|
<li>Fix a bug when recovery previously handled a section of the log that
|
|||
|
did not contain any transactions. [#13139]</li>
|
|||
|
<li>Fix a bug that could result in the loss of durability in
|
|||
|
Transactional Environments on Mac OS X. [#13149]</li>
|
|||
|
<li>Fix a bug that could cause the improper reuse of a transaction id
|
|||
|
when recovery restores prepared transactions. [#13256]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3838153"></a>Utility Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Add utility for performing hot backups of a database environment.
|
|||
|
[#11536]</li>
|
|||
|
<li>Change the Verify utility to now identify any nodes that have
|
|||
|
incorrect record counts. [#11934]</li>
|
|||
|
<li>Fix a bug in the 1.85 compatibility code supporting per-application
|
|||
|
Btree comparison and prefix compression functions. The functions would
|
|||
|
not work on big-endian 64-bit hardware. [#13316]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="sect2" lang="en" xml:lang="en">
|
|||
|
<div class="titlepage">
|
|||
|
<div>
|
|||
|
<div>
|
|||
|
<h3 class="title"><a id="id3838219"></a>Configuration, Documentation, Portability and Build Changes:</h3>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="orderedlist">
|
|||
|
<ol type="1">
|
|||
|
<li>Change the ex_tpcb sample application to no longer displays
|
|||
|
intermediate results. It displays results at the end of the run.
|
|||
|
[#11259]</li>
|
|||
|
<li>Change the Visual Studio projects on Windows so that each is in an
|
|||
|
intermediate directory. [#11441]</li>
|
|||
|
<li>Fix errors in test subdb011. [#11799]</li>
|
|||
|
<li>Fix a bug that could cause applications using gcc on Power PC
|
|||
|
platforms to hang. [#12233]</li>
|
|||
|
<li>Fix a bug where installation will fail if a true program cannot be
|
|||
|
found. [#12278]</li>
|
|||
|
<li>Fix a bug that prevented C++ applications from configuring XA
|
|||
|
[#12300].</li>
|
|||
|
<li>Fix a race condition in the Windows mutex implementation found on
|
|||
|
8-way Itanium systems. [#12417]</li>
|
|||
|
<li>Add pthread mutex support for IBM OS/390 platform (z/OS or MVS).
|
|||
|
[#12639]</li>
|
|||
|
<li>Fix a bug where the Tcl API did not configure on OS X 10.4. [#12699]</li>
|
|||
|
<li>Fix portability issues with queue or recno primary databases.
|
|||
|
[#12872]</li>
|
|||
|
<li>Fix a bug where utility attempted to send replication message.
|
|||
|
[#13446]</li>
|
|||
|
</ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="navfooter">
|
|||
|
<hr />
|
|||
|
<table width="100%" summary="Navigation footer">
|
|||
|
<tr>
|
|||
|
<td width="40%" align="left"><a accesskey="p" href="upgrade_4_4_disk.html">Prev</a> </td>
|
|||
|
<td width="20%" align="center">
|
|||
|
<a accesskey="u" href="upgrade_4_4_toc.html">Up</a>
|
|||
|
</td>
|
|||
|
<td width="40%" align="right"> <a accesskey="n" href="changelog_4_4_20.html">Next</a></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td width="40%" align="left" valign="top">Upgrade Requirements </td>
|
|||
|
<td width="20%" align="center">
|
|||
|
<a accesskey="h" href="index.html">Home</a>
|
|||
|
</td>
|
|||
|
<td width="40%" align="right" valign="top"> Berkeley DB 4.4.20 Change Log</td>
|
|||
|
</tr>
|
|||
|
</table>
|
|||
|
</div>
|
|||
|
</body>
|
|||
|
</html>
|