<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>DbEnv::log_put()</title> <link rel="stylesheet" href="apiReference.css" type="text/css" /> <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /> <link rel="start" href="index.html" title="Berkeley DB C++ API Reference" /> <link rel="up" href="lsn.html" title="Chapter 8. The DbLsn Handle" /> <link rel="prev" href="logprintf.html" title="DbEnv::log_printf()" /> <link rel="next" href="envlog_set_config.html" title="DbEnv::log_set_config()" /> </head> <body> <div class="navheader"> <table width="100%" summary="Navigation header"> <tr> <th colspan="3" align="center">DbEnv::log_put()</th> </tr> <tr> <td width="20%" align="left"><a accesskey="p" href="logprintf.html">Prev</a> </td> <th width="60%" align="center">Chapter 8. The DbLsn Handle </th> <td width="20%" align="right"> <a accesskey="n" href="envlog_set_config.html">Next</a></td> </tr> </table> <hr /> </div> <div class="sect1" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"><a id="logput"></a>DbEnv::log_put()</h2> </div> </div> </div> <pre class="programlisting">#include <db_cxx.h> int DbEnv::log_put(DbLsn *lsn, const Dbt *data, u_int32_t flags);</pre> <p> The <code class="methodname">DbEnv::log_put()</code> method appends records to the log. The <a class="link" href="lsn.html" title="Chapter 8. The DbLsn Handle">DbLsn</a> of the put record is returned in the <span class="bold"><strong>lsn</strong></span> parameter. </p> <p> The <code class="methodname">DbEnv::log_put()</code> <span> <span> method either returns a non-zero error value or throws an exception that encapsulates a non-zero error value on failure, and returns 0 on success. </span> </span> </p> <div class="sect2" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h3 class="title"><a id="id1686173"></a>Parameters</h3> </div> </div> </div> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h4 class="title"><a id="id1686022"></a>data</h4> </div> </div> </div> <p> The <span class="bold"><strong>data</strong></span> parameter is the record to write to the log. </p> <p> The caller is responsible for providing any necessary structure to <span class="bold"><strong>data</strong></span>. (For example, in a write-ahead logging protocol, the application must understand what part of <span class="bold"><strong>data</strong></span> is an operation code, what part is redo information, and what part is undo information. In addition, most transaction managers will store in <span class="bold"><strong>data</strong></span> the <a class="link" href="lsn.html" title="Chapter 8. The DbLsn Handle">DbLsn</a> of the previous log record for the same transaction, to support chaining back through the transaction's log records during undo.) </p> </div> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h4 class="title"><a id="id1686492"></a>flags</h4> </div> </div> </div> <p> The <span class="bold"><strong>flags</strong></span> parameter must be set to 0 or the following value: </p> <div class="itemizedlist"> <ul type="disc"> <li> <p><a id="put_DB_FLUSH"></a> <code class="literal">DB_FLUSH</code> </p> <p> The log is forced to disk after this record is written, guaranteeing that all records with <a class="link" href="lsn.html" title="Chapter 8. The DbLsn Handle">DbLsn</a> values less than or equal to the one being "put" are on disk before <code class="methodname">DbEnv::log_put()</code> returns. </p> </li> </ul> </div> </div> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h4 class="title"><a id="id1686522"></a>lsn</h4> </div> </div> </div> <p> The <span class="bold"><strong>lsn</strong></span> parameter references memory into which the <a class="link" href="lsn.html" title="Chapter 8. The DbLsn Handle">DbLsn</a> of the put record is copied. </p> </div> </div> <div class="sect2" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h3 class="title"><a id="id1686684"></a>Errors</h3> </div> </div> </div> <p> The <code class="methodname">DbEnv::log_put()</code> <span> <span> method may fail and throw a <a class="link" href="dbexception.html" title="Chapter 6. The DbException Class">DbException</a> exception, encapsulating one of the following non-zero errors, or return one of the following non-zero errors: </span> </span> </p> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h4 class="title"><a id="id1686169"></a>EINVAL</h4> </div> </div> </div> <p> If the record to be logged is larger than the maximum log record; or if an invalid flag value or parameter was specified. </p> </div> </div> <div class="sect2" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h3 class="title"><a id="id1686170"></a>Class</h3> </div> </div> </div> <p> <a class="link" href="env.html" title="Chapter 5. The DbEnv Handle">DbEnv</a>, <a class="link" href="logc.html" title="The DbLogc Handle">DbLogc</a>, <a class="link" href="lsn.html" title="Chapter 8. The DbLsn Handle">DbLsn</a> </p> </div> <div class="sect2" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h3 class="title"><a id="id1686380"></a>See Also</h3> </div> </div> </div> <p> <a class="xref" href="lsn.html#loglist" title="Logging Subsystem and Related Methods">Logging Subsystem and Related Methods</a> </p> </div> </div> <div class="navfooter"> <hr /> <table width="100%" summary="Navigation footer"> <tr> <td width="40%" align="left"><a accesskey="p" href="logprintf.html">Prev</a> </td> <td width="20%" align="center"> <a accesskey="u" href="lsn.html">Up</a> </td> <td width="40%" align="right"> <a accesskey="n" href="envlog_set_config.html">Next</a></td> </tr> <tr> <td width="40%" align="left" valign="top">DbEnv::log_printf() </td> <td width="20%" align="center"> <a accesskey="h" href="index.html">Home</a> </td> <td width="40%" align="right" valign="top"> DbEnv::log_set_config()</td> </tr> </table> </div> </body> </html>