Adding this feature required a change to the underlying btree database format. For this reason, databases created under previous versions of DB cannot be read by this release of DB, and vice-versa. If you have a support contract with Sleepycat Software, please contact us for further information and assistance in migrating applications and databases from previous releases of DB to this release.
See db_open(3) and db_cursor(3) for more information, as well as the example program examples/ex_btrec.c.
The new default behavior is that deleting records does not cause subsequent records to be renumbered, and it is an error to attempt to add new records between records already in the database. Attempting to retrieve deleted keys using either of the dbp->get() or cursor->c_get() functions will return DB_KEYEMPTY. The historic behavior is still available, based on a new DB_INFO flag, DB_RENUMBER. Applications depending on the historic recno access method semantics should specify the DB_RENUMBER flag, no other change should be necessary.
In previous versions of the DB library, adding a record more than one logical record past the current last record in the recno database caused the creation of the intermediate missing records as existing records with zero-length data. While the intermediate missing records are still logically created in DB 2.3, it is an error to attempt to retrieve them, and the get() and c_get() functions will return DB_KEYEMPTY.
In previous versions of the DB library, attempting to retrieve a deleted record using the same cursor with which it was deleted returned DB_NOTFOUND. For consistency with the new recno access method functionality, such attempts now return DB_KEYEMPTY.
See db_open(3) and db_cursor(3) for more information.
These changes are NOT transparent to applications.
See db_open(3) for more information.
See db_mpool(3) for more information.
This change is NOT transparent to applications using the db_mpool(3) interfaces directly.
A number of additional items of information have been added to the information returned by the stat function, notably database configuration flags and other information normally specified to the db_open(3) function when the database is created.
See db_stat(1) and db_open(3) for more information.
This change is NOT transparent to applications.
The C++ files and directories in the source distribution are:
|db/examples_cxx/||The example programs recoded in C++.|
|db/include/cxx_int.h||Internal C++ include file.|
|db/include/db_cxx.h||External C++ include file.|
C++ support is automatically built on Win32. To configure it under UNIX, specify --enable-cxx as a configuration argument (see the file db/build.unix/README for more information).