|
![]() ![]() ![]() |
Changes in the Berkeley DB 3.2 release make it possible to created nested transactions in threads of control other than the parent transaction's thread of control. This allows applications to divide work for a single transaction up into multiple, concurrently running threads.
As part of this change, attempting to abort or commit a transaction with associated unresolved child transactions no longer automatically aborts or commits those children. Attempting to abort or commit a transaction with unresolved child transactions now fails, returning DB_UNRESOLVED_CHILD (or throwing an exception encapsulating DB_UNRESOLVED_CHILD). In this case, abort or commit may be re-attempted once the unresolved children have been resolved.
![]() ![]() ![]() |