|
|
DbEnv::lock_get |
#include <db_cxx.h>int DbEnv::lock_get(u_int32_t locker, u_int32_t flags, const Dbt *object, const db_lockmode_t lock_mode, DbLock *lock);
The DbEnv::lock_get method acquires a lock from the lock table, returning information about it in the lock parameter.
The DbEnv::lock_get method either returns a non-zero error value or throws an exception that encapsulates a non-zero error value on failure, and returns 0 on success.
See DbEnv::set_lk_conflicts and Standard Lock Modes for more information on the lock conflict matrix.
The DbEnv::lock_get method may fail and throw DbException, encapsulating one of the following non-zero errors, or return one of the following non-zero errors:
If a transactional database environment operation was selected to resolve a deadlock, the DbEnv::lock_get method will fail and either return DB_LOCK_DEADLOCK or throw a DbDeadlockException exception.
If a Berkeley DB Concurrent Data Store database environment configured for lock timeouts was unable to grant a lock in the allowed time, the DbEnv::lock_get method will fail and either return DB_LOCK_NOTGRANTED or throw a DbLockNotGrantedException exception.
If the DB_LOCK_NOWAIT flag or lock timers were configured and the lock could not be granted before the wait-time expired, the DbEnv::lock_get method will fail and either return DB_LOCK_NOTGRANTED or throw a DbLockNotGrantedException exception.
If the maximum number of locks has been reached, the DbEnv::lock_get method will fail and either return ENOMEM or throw a DbMemoryException.
Copyright (c) 1996-2005 Sleepycat Software, Inc. - All rights reserved.