Release 3.3: DB->set_malloc, DB->set_realloc
There are two new methods in the Berkeley DB 3.3 release:
DB_ENV->set_alloc(). These functions
allow applications to specify a set of allocation functions for the
Berkeley DB library to use when allocating memory to be owned by the
application and when freeing memory that was originally allocated by the
application.
The new methods affect or replace the following historic methods:
-
DB->set_malloc
- The DB->set_malloc method has been replaced in its entirety.
Applications using this method should replace the call with a call
to DB->set_alloc().
-
DB->set_realloc
- The DB->set_realloc method has been replaced in its entirety.
Applications using this method should replace the call with a call
to DB->set_alloc().
-
DB->stat() method
- has
been replaced. Applications using this method should do as follows:
if the argument is NULL, it should simply be removed. If non-NULL,
it should be replaced with a call to DB->set_alloc().
-
lock_stat
- The historic db_malloc argument to the lock_stat function has
been replaced. Applications using this function should do as follows:
if the argument is NULL, it should simply be removed. If
non-NULL, it should be replaced with a call to DB_ENV->set_alloc().
-
log_archive
- The historic db_malloc argument to the log_archive function has
been replaced. Applications using this function should do as follows:
if the argument is NULL, it should simply be removed. If non-NULL,
it should be replaced with a call to DB_ENV->set_alloc().
-
log_stat
- The historic db_malloc argument to the log_stat function has
been replaced. Applications using this function should do as follows:
if the argument is NULL, it should simply be removed. If non-NULL,
it should be replaced with a call to DB_ENV->set_alloc().
-
memp_stat
- The historic db_malloc argument to the memp_stat function has
been replaced. Applications using this function should do as follows:
if the argument is NULL, it should simply be removed. If non-NULL,
it should be replaced with a call to DB_ENV->set_alloc().
-
txn_stat
- The historic db_malloc argument to the txn_stat function has
been replaced. Applications using this function should do as follows:
if the argument is NULL, it should simply be removed. If non-NULL,
it should be replaced with a call to DB_ENV->set_alloc().
One potential incompatibility for historic applications is that the
allocation functions for a database environment must now be set before
the environment is opened. Historically, Berkeley DB applications could open
the environment first, and subsequently call the DB->set_malloc
and DB->set_realloc methods; that use is no longer supported.