#include <db_cxx.h> class DbLockNotGrantedException : public DbException { public: db_lockop_t get_op() const; db_lockmode_t get_mode() const; const Dbt* get_obj() const; DbLock *get_lock() const; int get_index() const; };
This information describes the DbLockNotGrantedException
class and how
it is used by the various Berkeley DB classes.
A DbLockNotGrantedException
is thrown when
lock or transaction timeouts have been configured, a database operation has timed out, and the
DB_TIME_NOTGRANTED
configuration flag has been specified.
Additionally DbLockNotGrantedException
is thrown when a Berkeley DB
Concurrent Data Store database environment configured for lock timeouts was unable to grant
a lock in the allowed time.
Finally, DbLockNotGrantedException
is thrown when a lock requested using the
DbEnv::lock_get()
or
DbEnv::lock_vec()
methods, where the DB_LOCK_NOWAIT
flag or lock timers were configured, could not be granted before the wait-time expired.
The DbException errno value is set to
DB_LOCK_NOTGRANTED
.
The following getter methods are available on this class:
get_op()
Returns DB_LOCK_GET
when
DbEnv::lock_get()
was called, and returns the op for the failed
DB_LOCKREQ
when
DbEnv::lock_vec()
was called. If this exception is raised due to a database
operation, DB_LOCK_GET
is returned.
get_mode()
Returns the mode parameter when
DbEnv::lock_get()
was called, and returns the
mode for the failed DB_LOCKREQ
when
DbEnv::lock_vec()
was called.
If this exception is raised due to a database operation,
DB_LOCK_NG
is returned.
get_obj()
Returns the object parameter when
DbEnv::lock_get()
was called, and returns the
object for the failed DB_LOCKREQ
when
DbEnv::lock_vec()
was called.
The Dbt pointer may or may not refer valid
memory, depending on whether the Dbt
used in the call to the failed
DbEnv::lock_get()
or
DbEnv::lock_vec()
method is still in
scope and has not been deleted.
get_lock()
Returns NULL when
DbEnv::lock_get()
was called,
and returns the lock in the failed DB_LOCKREQ
when
DbEnv::lock_vec()
was called.
If this exception is raised due to a database operation, NULL is returned.
get_index()
Returns -1
when
DbEnv::lock_get()
was called,
and returns the index of the failed DB_LOCKREQ
when
DbEnv::lock_vec()
was called.
If this exception is raised due to a database operation,
0
is returned.