Berkeley DB: DB_LOGC->get
Description: Berkeley DB: An embedded database programmatic toolkit.
Keywords: embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++

DB_LOGC->get |

`

    #include <db.h>

    int
    DB_LOGC->get(DB_LOGC *logc, DB_LSN *lsn, DBT *data, u_int32_t flags);

Description: DB_LOGC->get

The DB_LOGC->get method returns records from the log.

Unless otherwise specified, the DB_LOGC->get method returns a non-zero error value on failure and 0 on success.

Parameters
data

- The data field of the data structure is set to the record retrieved, and the size field indicates the number of bytes in the record. See DBT for a description of other fields in the data structure. The DB_DBT_MALLOC, DB_DBT_REALLOC and DB_DBT_USERMEM flags may be specified for any DBT used for data retrieval.

flags

- The flags parameter must be set to one of the following values:
  DB_CURRENT
  - Return the log record to which the log currently refers.
  DB_FIRST
  - The first record from any of the log files found in the log directory is returned in the data parameter. The lsn parameter is overwritten with the DB_LSN of the record returned.

    The DB_LOGC->get method will return DB_NOTFOUND if DB_FIRST is set and the log is empty.

  DB_LAST
  - The last record in the log is returned in the data parameter. The lsn parameter is overwritten with the DB_LSN of the record returned.

    The DB_LOGC->get method will return DB_NOTFOUND if DB_LAST is set and the log is empty.

  DB_NEXT
  - The current log position is advanced to the next record in the log, and that record is returned in the data parameter. The lsn parameter is overwritten with the DB_LSN of the record returned.

    If the cursor has not been initialized via DB_FIRST, DB_LAST, DB_SET, DB_NEXT, or DB_PREV, DB_LOGC->get will return the first record in the log.

    The DB_LOGC->get method will return DB_NOTFOUND if DB_NEXT is set and the last log record has already been returned or the log is empty.

  DB_PREV
  - The current log position is advanced to the previous record in the log, and that record is returned in the data parameter. The lsn parameter is overwritten with the DB_LSN of the record returned.

    If the cursor has not been initialized via DB_FIRST, DB_LAST, DB_SET, DB_NEXT, or DB_PREV, DB_LOGC->get will return the last record in the log.

    The DB_LOGC->get method will return DB_NOTFOUND if DB_PREV is set and the first log record has already been returned or the log is empty.

  DB_SET
  - Retrieve the record specified by the lsn parameter.

lsn

- When the flag parameter is set to DB_CURRENT, DB_FIRST, DB_LAST, DB_NEXT or DB_PREV, the lsn parameter is overwritten with the DB_LSN value of the record retrieved. When flag is set to DB_SET, the lsn parameter is the DB_LSN value of the record to be retrieved.

Errors

The DB_LOGC->get method may fail and return one of the following non-zero errors:

EINVAL

- If the DB_CURRENT flag was set and the log cursor has not yet been initialized; the DB_CURRENT, DB_NEXT, or DB_PREV flags were set and the log was opened with the DB_THREAD flag set; the DB_SET flag was set and the specified log sequence number does not appear in the log; or if an invalid flag value or parameter was specified.

Class DB_ENV, DB_LOGC, DB_LSN
See Also Logging Subsystem and Related Methods`

Copyright (c) 1996,2008 Oracle. All rights reserved.