## Uses of Class
com.sleepycat.db.LockMode

- Packages that use LockMode
  Package | Description
  --- | ---
  com.sleepycat.db | Berkeley DB Java API [reference guide] [Java programming notes].
  com.sleepycat.persist | The Direct Persistence Layer (DPL) adds a persistent object model to the Berkeley DB transactional engine.

- - ### Uses of LockMode in com.sleepycat.db

    Fields in com.sleepycat.db declared as LockMode
    Modifier and Type | Field | Description
    --- | --- | ---
    `static LockMode` | LockMode.`DEFAULT` | Acquire read locks for read operations and write locks for write operations.
    `static LockMode` | LockMode.`DEGREE_2` | Deprecated. This has been replaced by `READ_COMMITTED` to conform to ANSI database isolation terminology.
    `static LockMode` | LockMode.`DIRTY_READ` | Deprecated. This has been replaced by `READ_UNCOMMITTED` to conform to ANSI database isolation terminology.
    `static LockMode` | LockMode.`IGNORE_LEASES` | Return the data item irrespective of the state of master leases.
    `static LockMode` | LockMode.`READ_COMMITTED` | Read committed isolation provides for cursor stability but not repeatable reads.
    `static LockMode` | LockMode.`READ_UNCOMMITTED` | Read modified but not yet committed data.
    `static LockMode` | LockMode.`RMW` | Acquire write locks instead of read locks when doing the retrieval.

    Methods in com.sleepycat.db with parameters of type LockMode
    Modifier and Type | Method | Description
    --- | --- | ---
    `OperationStatus` | Database.`get​(Transaction txn, DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | Retrieves the key/data pair with the given key from the database.
    `OperationStatus` | SecondaryDatabase.`get​(Transaction txn, DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` | Retrieves the key/data pair with the given key.
    `OperationStatus` | Cursor.`getCurrent​(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | Returns the key/data pair to which the cursor refers.
    `OperationStatus` | SecondaryCursor.`getCurrent​(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` | Returns the key/data pair to which the cursor refers.
    `OperationStatus` | Cursor.`getFirst​(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the first key/data pair of the database, and return that pair.
    `OperationStatus` | SecondaryCursor.`getFirst​(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the first key/data pair of the database, and return that pair.
    `OperationStatus` | Cursor.`getLast​(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the last key/data pair of the database, and return that pair.
    `OperationStatus` | SecondaryCursor.`getLast​(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the last key/data pair of the database, and return that pair.
    `OperationStatus` | Cursor.`getNext​(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the next key/data pair and return that pair.
    `OperationStatus` | JoinCursor.`getNext​(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | Returns the next primary key and data resulting from the join operation.
    `OperationStatus` | JoinCursor.`getNext​(DatabaseEntry key, LockMode lockMode)` | Returns the next primary key resulting from the join operation.
    `OperationStatus` | SecondaryCursor.`getNext​(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the next key/data pair and return that pair.
    `OperationStatus` | Cursor.`getNextDup​(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | If the next key/data pair of the database is a duplicate data record for the current key/data pair, move the cursor to the next key/data pair of the database and return that pair.
    `OperationStatus` | SecondaryCursor.`getNextDup​(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` | If the next key/data pair of the database is a duplicate data record for the current key/data pair, move the cursor to the next key/data pair of the database and return that pair.
    `OperationStatus` | Cursor.`getNextNoDup​(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the next non-duplicate key/data pair and return that pair.
    `OperationStatus` | SecondaryCursor.`getNextNoDup​(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the next non-duplicate key/data pair and return that pair.
    `OperationStatus` | Cursor.`getPrev​(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the previous key/data pair and return that pair.
    `OperationStatus` | SecondaryCursor.`getPrev​(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the previous key/data pair and return that pair.
    `OperationStatus` | Cursor.`getPrevDup​(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | If the previous key/data pair of the database is a duplicate data record for the current key/data pair, move the cursor to the previous key/data pair of the database and return that pair.
    `OperationStatus` | SecondaryCursor.`getPrevDup​(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` | If the previous key/data pair of the database is a duplicate data record for the current key/data pair, move the cursor to the previous key/data pair of the database and return that pair.
    `OperationStatus` | Cursor.`getPrevNoDup​(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the previous non-duplicate key/data pair and return that pair.
    `OperationStatus` | SecondaryCursor.`getPrevNoDup​(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the previous non-duplicate key/data pair and return that pair.
    `OperationStatus` | Cursor.`getRecordNumber​(DatabaseEntry data, LockMode lockMode)` | Return the record number associated with the cursor.
    `OperationStatus` | SecondaryCursor.`getRecordNumber​(DatabaseEntry secondaryRecno, DatabaseEntry primaryRecno, LockMode lockMode)` | Return the record number associated with the cursor.
    `OperationStatus` | Cursor.`getSearchBoth​(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the specified key/data pair, where both the key and data items must match.
    `OperationStatus` | Database.`getSearchBoth​(Transaction txn, DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | Retrieves the key/data pair with the given key and data value, that is, both the key and data items must match.
    `OperationStatus` | SecondaryCursor.`getSearchBoth​(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the specified secondary and primary key, where both the primary and secondary key items must match.
    `OperationStatus` | SecondaryDatabase.`getSearchBoth​(Transaction txn, DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` | Retrieves the key/data pair with the specified secondary and primary key, that is, both the primary and secondary key items must match.
    `OperationStatus` | Cursor.`getSearchBothRange​(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the specified key and matching data item of the database.
    `OperationStatus` | SecondaryCursor.`getSearchBothRange​(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the specified secondary key and closest matching primary key of the database.
    `OperationStatus` | Cursor.`getSearchKey​(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the given key of the database, and return the datum associated with the given key.
    `OperationStatus` | SecondaryCursor.`getSearchKey​(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the given key of the database, and return the datum associated with the given key.
    `OperationStatus` | Cursor.`getSearchKeyRange​(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the closest matching key of the database, and return the data item associated with the matching key.
    `OperationStatus` | SecondaryCursor.`getSearchKeyRange​(DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the closest matching key of the database, and return the data item associated with the matching key.
    `OperationStatus` | Cursor.`getSearchRecordNumber​(DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the specific numbered record of the database, and return the associated key/data pair.
    `OperationStatus` | Database.`getSearchRecordNumber​(Transaction txn, DatabaseEntry key, DatabaseEntry data, LockMode lockMode)` | Retrieves the key/data pair associated with the specific numbered record of the database.
    `OperationStatus` | SecondaryCursor.`getSearchRecordNumber​(DatabaseEntry secondaryRecno, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` | Move the cursor to the specific numbered record of the database, and return the associated key/data pair.
    `OperationStatus` | SecondaryDatabase.`getSearchRecordNumber​(Transaction txn, DatabaseEntry key, DatabaseEntry pKey, DatabaseEntry data, LockMode lockMode)` | Retrieves the key/data pair associated with the specific numbered record of the database.

  - ### Uses of LockMode in com.sleepycat.persist

    Methods in com.sleepycat.persist with parameters of type LockMode
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | EntityIndex.`contains​(Transaction txn, K key, LockMode lockMode)` | Checks for existence of a key in this index.
    `V` | EntityCursor.`current​(LockMode lockMode)` | Returns the value at the cursor position, or null if the value at the cursor position has been deleted.
    `V` | EntityCursor.`first​(LockMode lockMode)` | Moves the cursor to the first value and returns it, or returns null if the cursor range is empty.
    `V` | EntityIndex.`get​(Transaction txn, K key, LockMode lockMode)` | Gets an entity via a key of this index.
    `E` | PrimaryIndex.`get​(Transaction txn, PK key, LockMode lockMode)` |
    `E` | SecondaryIndex.`get​(Transaction txn, SK key, LockMode lockMode)` |
    `java.util.Iterator<V>` | EntityCursor.`iterator​(LockMode lockMode)` | Returns an iterator over the key range, starting with the value following the current position or at the first value if the cursor is uninitialized.
    `java.util.Iterator<V>` | ForwardCursor.`iterator​(LockMode lockMode)` | Returns an iterator over the key range, starting with the value following the current position or at the first value if the cursor is uninitialized.
    `V` | EntityCursor.`last​(LockMode lockMode)` | Moves the cursor to the last value and returns it, or returns null if the cursor range is empty.
    `V` | EntityCursor.`next​(LockMode lockMode)` | Moves the cursor to the next value and returns it, or returns null if there are no more values in the cursor range.
    `V` | ForwardCursor.`next​(LockMode lockMode)` | Moves the cursor to the next value and returns it, or returns null if there are no more values in the cursor range.
    `V` | EntityCursor.`nextDup​(LockMode lockMode)` | Moves the cursor to the next value with the same key (duplicate) and returns it, or returns null if no more values are present for the key at the current position.
    `V` | EntityCursor.`nextNoDup​(LockMode lockMode)` | Moves the cursor to the next value with a different key and returns it, or returns null if there are no more unique keys in the cursor range.
    `V` | EntityCursor.`prev​(LockMode lockMode)` | Moves the cursor to the previous value and returns it, or returns null if there are no preceding values in the cursor range.
    `V` | EntityCursor.`prevDup​(LockMode lockMode)` | Moves the cursor to the previous value with the same key (duplicate) and returns it, or returns null if no preceding values are present for the key at the current position.
    `V` | EntityCursor.`prevNoDup​(LockMode lockMode)` | Moves the cursor to the preceding value with a different key and returns it, or returns null if there are no preceding unique keys in the cursor range.

Copyright (c) 1996, 2020 Oracle and/or its affiliates. All rights reserved.