logc_get.html   [plain text]


<!--$Id: logc_get.html,v 1.1 2003/02/15 04:55:53 zarzycki Exp $-->
<!--Copyright 1997-2002 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<!--See the file LICENSE for redistribution information.-->
<html>
<head>
<title>Berkeley DB: DbLogc.get</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table width="100%"><tr valign=top>
<td>
<h1>DbLogc.get</h1>
</td>
<td align=right>
<a href="../api_java/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
import com.sleepycat.db.*;
<p>
public int get(DbLsn lsn, Dbt data, int flags)
    throws DbException;
</pre></h3>
<h1>Description</h1>
<p>The DbLogc.get method retrieve records from the log according to the
<b>lsn</b> and <b>flags</b> arguments.
<p>The data field of the <b>data</b> structure is set to the record
retrieved, and the size field indicates the number of bytes in the
record.  See <a href="../api_java/dbt_class.html">Dbt</a> for a description of other fields in the
<b>data</b> structure.  The <a href="../api_java/dbt_class.html#DB_DBT_MALLOC">Db.DB_DBT_MALLOC</a>,
<a href="../api_java/dbt_class.html#DB_DBT_REALLOC">Db.DB_DBT_REALLOC</a> and <a href="../api_java/dbt_class.html#DB_DBT_USERMEM">Db.DB_DBT_USERMEM</a> flags may be specified
for any <a href="../api_java/dbt_class.html">Dbt</a> used for data retrieval.
<p>The <b>flags</b> value must be set to one of the following values:
<p><dl compact>
<p><dt><a name="Db.DB_FIRST">Db.DB_FIRST</a><dd>The first record from any of the log files found in the log directory
is returned in the <b>data</b> argument.
The <b>lsn</b> argument is overwritten with the <a href="../api_java/lsn_class.html">DbLsn</a> of the
record returned.
<p>
If the log is empty, the DbLogc.get method will return Db.DB_NOTFOUND.
<p><dt><a name="Db.DB_LAST">Db.DB_LAST</a><dd>The last record in the log is returned in the <b>data</b> argument.
The <b>lsn</b> argument is overwritten with the <a href="../api_java/lsn_class.html">DbLsn</a> of the
record returned.
<p>
If the log is empty, the DbLogc.get method will return Db.DB_NOTFOUND.
<p><dt><a name="Db.DB_NEXT">Db.DB_NEXT</a>, <a name="Db.DB_PREV">Db.DB_PREV</a><dd>The current log position is advanced to the next (previous) record in
the log, and that record is returned in the <b>data</b> argument.  The
<b>lsn</b> argument is overwritten with the <a href="../api_java/lsn_class.html">DbLsn</a> of the record
returned.
<p>If the cursor has not been initialized via DB_FIRST, DB_LAST, DB_SET,
DB_NEXT, or DB_PREV, DbLogc.get will return the first (last) record
in the log.
If the last (first) log record has already been returned or the log is
empty, the DbLogc.get method will return Db.DB_NOTFOUND.
If the log was opened with the DB_THREAD flag set, calls to
DbLogc.get with the DB_NEXT (DB_PREV) flag set, the DbLogc.get method throws an exception that encapsulates Db.EINVAL.
<p><dt><a name="Db.DB_CURRENT">Db.DB_CURRENT</a><dd>Return the log record to which the log currently refers.
If the log cursor has not been initialized via DB_FIRST, DB_LAST,
DB_SET, DB_NEXT, or DB_PREV, or if the log was opened with the DB_THREAD
flag set, the DbLogc.get method throws an exception that encapsulates Db.EINVAL.
<p><dt><a name="Db.DB_SET">Db.DB_SET</a><dd>Retrieve the record specified by the <b>lsn</b> argument.
If the specified <a href="../api_java/lsn_class.html">DbLsn</a> is invalid (for example, it does not
appear in the log), the DbLogc.get method throws an exception that encapsulates Db.EINVAL.
</dl>
<p>
Otherwise, the DbLogc.get method throws an exception that encapsulates a non-zero error value on
failure.
<h1>Errors</h1>
<p>The DbLogc.get method may fail and throw an exception encapsulating a non-zero error for the following conditions:
<p><dl compact>
<p><dt>EINVAL<dd>An invalid flag value or parameter was specified.
<p>The DB_CURRENT flag was set and the log pointer had not yet been
initialized.
<p>The DB_SET flag was set and the specified log sequence number does not
exist.
</dl>
<p>The DbLogc.get 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 DbLogc.get method may fail and
throw a <a href="../api_java/runrec_class.html">DbRunRecoveryException</a>,
in which case all subsequent Berkeley DB calls will fail in the same way.
<h1>Class</h1>
<a href="../api_java/env_class.html">DbEnv</a>, <a href="../api_java/logc_class.html">DbLogc</a>, <a href="../api_java/lsn_class.html">DbLsn</a>
<h1>See Also</h1>
<a href="../api_java/log_list.html">Logging Subsystem and Related Methods</a>
</tt>
<table width="100%"><tr><td><br></td><td align=right>
<a href="../api_java/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>