Berkeley DB: DbEnv.set_lk_conflicts
Description: Berkeley DB: An embedded database programmatic toolkit.
Keywords: embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++

# DbEnv.set_lk_conflicts |

`

###

    import com.sleepycat.db.*;

    public void set_lk_conflicts(byte[][] conflicts)
        throws DbException;

# Description

Set the locking conflicts matrix. A non-0 value for the array element indicates that requested_mode and held_mode conflict:

>     conflicts[requested_mode][held_mode]

The not-granted mode must be represented by 0.

If DbEnv.set_lk_conflicts is never called, a standard conflicts array is used; see Standard Lock Modes for more information.

The DbEnv.set_lk_conflicts method configures a database environment, not only operations performed using the specified DbEnv handle.

The DbEnv.set_lk_conflicts interface may not be called after the DbEnv.open interface is called. If the database environment already exists when DbEnv.open is called, the information specified to DbEnv.set_lk_conflicts will be ignored.

The DbEnv.set_lk_conflicts method throws an exception that encapsulates a non-zero error value on failure.

# Errors

The DbEnv.set_lk_conflicts method may fail and throw an exception encapsulating a non-zero error for the following conditions:

EINVAL
  An invalid flag value or parameter was specified.

  Called after DbEnv.open was called.

ENOMEM
  No memory was available to copy the conflicts array.

The DbEnv.set_lk_conflicts method may fail and throw an exception for errors specified for other Berkeley DB and C library or system methods. If a catastrophic error has occurred, the DbEnv.set_lk_conflicts method may fail and throw a DbRunRecoveryException, in which case all subsequent Berkeley DB calls will fail in the same way.

# Class

DbEnv, DbLock

# See Also

Locking Subsystem and Related Methods`

Copyright Sleepycat Software