- Berkeley DB Reference Guide:
- Access Methods
|
 
|
Retrieved key/data permanence for C/C++
When using the non-cursor Berkeley DB calls to retrieve key/data items under
the C/C++ APIs (for example, DB->get), the memory to which the
pointer stored into the DBT refers is only valid until the next
call to Berkeley DB using the DB handle. (This includes any
use of the returned DB handle, including by another thread of
control within the process. For this reason, when multiple threads are
using the returned DB handle concurrently, one of the
DB_DBT_MALLOC, DB_DBT_REALLOC or DB_DBT_USERMEM
flags must be specified with any non-cursor DBT used for key or
data retrieval.)
When using the cursor Berkeley DB calls to retrieve key/data items under the
C/C++ APIs (for example, DBcursor->c_get), the memory to which the
pointer stored into the DBT refers is only valid until the next
call to Berkeley DB using the DBC handle returned by DB->cursor.
Copyright Sleepycat Software