DB_LOGC->get
|
![Ref](../images/ref.gif) |
#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-2005 Sleepycat Software, Inc. - All rights reserved.