Previously built binaries on any 32-bit machine should be backward compatible, however, previously built binaries on machines with 64-bit integers will not be binarily compatible. Applications should recompile correctly without warning or error, unless there are explicit casts in the application source code. This change may NOT be transparent to applications.
The db_jump_set(3) function interface specified by the DB_FUNC_MAP flag has changed. A new interface, specified by the DB_FUNC_RUNLINK flag has been added. Applications replacing these functions at run time will require additional care in upgrading to this release of DB.
The db_value_set(3) function interface has two additional flags: DB_REGION_ANON and DB_REGION_NAME, which allow applications to specify regions are to be created when using memory backed by a paging file.
See the db_internal(3) manual page for further information.
This additionally required an interface change to the DB_FUNC_SEEK interface as specified by the db_jump_set(3) function interface. The "relative" argument is now a "u_int32_t" instead of a "u_long", and there is an additional argument "isrewind" in order to support seeking in the reverse direction.
See the db_internal(3) manual page for further information. This change may NOT be transparent to applications.
However, the memp_fopen(3) function interface has changed: 4 of the lesser-used historic arguments and the new argument have been moved to an information structure of type DB_MPOOL_FINFO which is passed to the memp_fget function as an argument. See the db_mpool(3) man page for more information. This change may NOT be transparent to applications.
Old Name | New Name |
ADDCPPFLAGS | CPPFLAGS |
ADDCXXFLAGS | CXXFLAGS |
ADDLDFLAGS | LDFLAGS |
ADDLIBS | LIBS |
See the file build.unix/README for further information.
To build DB with -g as a compiler flag and with DEBUG #defined during compilation, enter --enable-debug as an argument to configure. This will create DB with debugging symbols, as well as load various routines that can be called from a debugger to display pages, cursor queues and so forth. This flag should probably not be specified when configuring to build production binaries, although there shouldn't be any significant performance degradation.
To build DB with diagnostic, run-time sanity checks and with DIAGNOSTIC #defined during compilation, enter --enable-diagnostic as an argument to configure. This will cause a number of special checks to be performed when DB is running. This flag should NOT be specified when configuring to build production binaries, as you will lose a significant amount of performance.
231 / (600 * 15 * 60 * 60) = 66
Doing only 100 transactions a second exhausts the transaction ID space in roughly one year.
In order to decrease the likelihood of exhausting the transaction ID space, Berkeley DB now resets the transaction ID each time that recovery is run. See db_txn(1) for more information.