• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/timemachine/db-4.7.25.NC/docs/ref/changelog/
1<!--"$Id: 2.1.html,v 1.4 2007/05/17 18:17:17 bostic Exp $ (Sleepycat) $Date: 2007/05/17 18:17:17 $"-->
2<html>
3<head>
4<title>The Berkeley DB Package: Interface Changes introduced in DB 2.1.0</title>
5<meta name="description" content="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>Interface Changes introduced in DB 2.1.0:</h3>
11
12<ol>
13<li>
14We have added a compatibility API for DB 1.85.  We had not intended to
15do this, however, versions of the GNU gcc compiler in beta release
16trigger problems in DB 1.85 (and in previous releases of DB 2.0.N),
17causing them to drop core.  As we're unwilling to do further work on
18DB 1.85, we're adding in a compatibility mode to the current DB package
19instead.
20<p>
21The DB 1.85 compatibility API is optional (so folks using both DB
221.85 and DB 2.N in a single library aren't surprised).  To include it
23in the DB library, use the configuration option --enable-compat185.
24For consistency, the configuration option --enable-build185, previously
25found in DB 2.N releases, has been renamed to be --enable-dump185.
26See the file build.unix/README in the DB distribution for further
27information.
28<p>
29We have also made other changes in the DB 2.1.0 release so that
30historic DB 1.85 applications will generally perform better using
31the current release than they do using the historic release.
32<p>
33Please note that the underlying databases MUST still be converted
34from the historic format to the current format.
35<p><li>
36We have changed the default behavior of db_appinit(3) so that it
37does NOT create the underlying shared memory regions by default.
38If the calling application wants to create these regions, it must
39now specify the DB_CREATE flag when calling db_appinit(3).
40<p><li>
41Specifying transactions to the db_appinit(3) function now implies
42logging, that is, DB_INIT_TXN now implies DB_INIT_LOG.
43<p><li>
44We have changed the memp_stat(3) interface.  It previously took a
45pointer to a memory pool (DB_MPOOL *) and a file pointer (FILE *)
46and wrote memory pool statistics to the specified file pointer.
47The new version is:
48<p>
49<blockquote>
50memp_stat(DB_MPOOL *, DB_MPOOL_STAT **, DB_MPOOL_FSTAT ***);
51</blockquote>
52<p>
53and it returns memory pool statistics to the calling application,
54in two new structures.  See the manual page db_mpool(3) in the DB
55distribution for more information.  We expect to add similar
56statistical functions to the other DB subsystems in future releases.
57<p>
58There is also a new utility, db_stat(1).  This utility presents the
59statistics in human-readable form.
60<p><li>
61We have added new functionality to the mpool interface.  There's a new
62field, mp_mmapsize, in the DB_ENV structure, and a new flag to the
63memp_fopen(3) structure (DB_NOMMAP).  These features provide a finer
64level of control over which files will be mapped into the process
65address space.  See the manual page db_mpool(3) in the DB distribution
66for more information.
67<p><li>
68Page-in and page-out functions specified for buffer pools must now
69return an errno value on failure and 0 on success, instead of the
70previous interface, which was non-zero on failure and 0 on success,
71setting errno.  See the manual page db_mpool(3) in the DB distribution
72for more information.
73<p><li>
74There are a couple of major performance improvements in the new DB
75release for small, non-persistent buffer pools, for example,
76applications using the traditional DB 1.85 interface or applications
77creating small, temporary databases.  First, the shared memory regions
78are no longer fully populated on startup.  Second, the backing file used
79for temporary buffer pools is no longer created until it is actually
80needed.  These changes should cause no visible change for applications.
81
82</ol>
83</body>
84</html>
85