Viewing file: faq.html (2.7 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
Berkeley DB Reference Guide: Programmer notes FAQ
- Berkeley DB Reference Guide:
- Programmer Notes
|
 
|
Programmer notes FAQ
- What priorities should threads/tasks executing Berkeley DB functions
be given?
Tasks executing Berkeley DB functions should have the same, or roughly
equivalent, system priorities. For example, it can be dangerous to give
tasks of control performing checkpoints a lower priority than tasks of
control doing database lookups, and starvation can sometimes result.
- Why isn't the C++ API exception safe?
The Berkeley DB C++ API is a thin wrapper around the C API that maps most
return values to exceptions, and gives the C++ handles the same
lifecycles as their C counterparts. One consequence is that if an
exception occurs while a cursor or transaction handle is open, the
application must explicitly close the cursor or abort the transaction.
Applications can be simplified and bugs avoided by creating wrapper
classes around DBC and DB_TXN that call the appropriate
cleanup method in the wrapper's destructor. By creating an instance
of the wrappers on the stack, C++ scoping rules will ensure that the
destructor is called before exception handling unrolls the block that
contains the wrapper object.
Copyright (c) 1996-2004 Sleepycat Software, Inc. - All rights reserved.
|