summaryrefslogtreecommitdiff
path: root/docs/programmer_reference/apprec_def.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/programmer_reference/apprec_def.html')
-rw-r--r--docs/programmer_reference/apprec_def.html233
1 files changed, 147 insertions, 86 deletions
diff --git a/docs/programmer_reference/apprec_def.html b/docs/programmer_reference/apprec_def.html
index 9de018a8..db90da18 100644
--- a/docs/programmer_reference/apprec_def.html
+++ b/docs/programmer_reference/apprec_def.html
@@ -14,17 +14,17 @@
<body>
<div xmlns="" class="navheader">
<div class="libver">
- <p>Library Version 11.2.5.3</p>
+ <p>Library Version 12.1.6.1</p>
</div>
<table width="100%" summary="Navigation header">
<tr>
- <th colspan="3" align="center">Defining application-specific log records</th>
+ <th colspan="3" align="center">Defining application-specific log
+ records</th>
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="apprec.html">Prev</a> </td>
- <th width="60%" align="center">Chapter 14. 
- Application Specific Logging and Recovery
- </th>
+ <th width="60%" align="center">Chapter 14.  Application Specific Logging and
+ Recovery </th>
<td width="20%" align="right"> <a accesskey="n" href="apprec_auto.html">Next</a></td>
</tr>
</table>
@@ -34,95 +34,156 @@
<div class="titlepage">
<div>
<div>
- <h2 class="title" style="clear: both"><a id="apprec_def"></a>Defining application-specific log records</h2>
+ <h2 class="title" style="clear: both"><a id="apprec_def"></a>Defining application-specific log
+ records</h2>
</div>
</div>
</div>
- <p>By convention, log records are described in files named <code class="filename">XXX.src</code>,
-where "XXX" is typically a descriptive name for a subsystem or other
-logical group of logging functions. These files contain interface
-definition language descriptions for each type of log record that is
-used by the subsystem.</p>
- <p>All blank lines and lines beginning with a hash ("#") character in
-the XXX.src files are ignored.</p>
- <p>The first non-comment line in the file should begin with the keyword
-PREFIX, followed by a string that will be prepended to every generated
-function name. Frequently, the PREFIX is either identical or similar
-to the name of the <code class="filename">XXX.src</code> file. For example, the Berkeley DB
-application-specific recovery example uses the file
-<code class="filename">ex_apprec.src</code>, which begins with the following PREFIX line:</p>
+ <p>
+ By convention, log records are described in files named
+ <code class="filename">XXX.src</code>, where "XXX" is typically a
+ descriptive name for a subsystem or other logical group of
+ logging functions. These files contain interface definition
+ language descriptions for each type of log record that is used
+ by the subsystem.
+ </p>
+ <p>
+ All blank lines and lines beginning with a hash ("#")
+ character in the XXX.src files are ignored.
+ </p>
+ <p>
+ The first non-comment line in the file should begin with the
+ keyword PREFIX, followed by a string that will be prepended to
+ every generated function name. Frequently, the PREFIX is
+ either identical or similar to the name of the
+ <code class="filename">XXX.src</code> file. For example, the
+ Berkeley DB application-specific recovery example uses the
+ file <code class="filename">ex_apprec.src</code>, which begins with the
+ following PREFIX line:
+ </p>
<pre class="programlisting">PREFIX ex_apprec</pre>
- <p>Following the PREFIX line are the include files required by the
-automatically generated functions. The include files should be listed
-in order, prefixed by the keyword INCLUDE. For example, the Berkeley DB
-application-specific recovery example lists the following include
-files:</p>
+ <p>
+ Following the PREFIX line are the include files required by
+ the automatically generated functions. The include files
+ should be listed in order, prefixed by the keyword INCLUDE.
+ For example, the Berkeley DB application-specific recovery
+ example lists the following include files:
+ </p>
<pre class="programlisting">INCLUDE #include "ex_apprec.h"</pre>
- <p>The rest of the XXX.src file consists of log record descriptions. Each
-log record description begins with one of the following lines:</p>
+ <p>
+ The rest of the XXX.src file consists of log record
+ descriptions. Each log record description begins with one of
+ the following lines:
+ </p>
<pre class="programlisting">BEGIN <span class="emphasis"><em>RECORD_NAME</em></span> <span class="emphasis"><em>DB_VERSION_NUMBER</em></span> <span class="emphasis"><em>RECORD_NUMBER</em></span></pre>
<pre class="programlisting">BEGIN_COMPAT <span class="emphasis"><em>RECORD_NAME</em></span> <span class="emphasis"><em>DB_VERSION_NUMBER</em></span> <span class="emphasis"><em>RECORD_NUMBER</em></span></pre>
- <p>and ends with the line:</p>
+ <p>
+ and ends with the line:
+ </p>
<pre class="programlisting">END</pre>
- <p>The <span class="emphasis"><em>BEGIN</em></span> line should be used for most record types.</p>
- <p>The <span class="emphasis"><em>BEGIN_COMPAT</em></span> is used for log record compatibility to facilitate
-online upgrades of replication groups. Records created with this keyword will
-produce reading and printing routines, but no logging routines. The recovery
-routines are retrieved from older releases, so no recovery templates will be
-generated for these records.</p>
- <p>The <span class="emphasis"><em>DB_VERSION_NUMBER</em></span> variable should be replaced with the
-current major and minor version of Berkeley DB, with all punctuation removed.
-For example, Berkeley DB version 4.2 should be 42, version 4.5 should be 45.</p>
- <p>The <span class="emphasis"><em>RECORD_NAME</em></span> variable should be replaced with a record
-name for this log record. The <span class="emphasis"><em>RECORD_NUMBER</em></span> variable should
-be replaced with a record number.</p>
- <p>The combination of PREFIX name and <span class="emphasis"><em>RECORD_NAME</em></span>, and the
-<span class="emphasis"><em>RECORD_NUMBER</em></span> must be unique for the application, that is,
-values for application-specific and Berkeley DB log records may not overlap.
-Further, because record numbers are stored in log files, which are
-usually portable across application and Berkeley DB releases, any change to
-the record numbers or log record format or should be handled as
-described in the section on log format changes in
-the <a href="../upgrading/upgrade_process.html" class="olink">Upgrading Berkeley DB installations</a> chapter of the Berkeley DB Installation and Build Guide. The record number space
-below 10,000 is reserved for Berkeley DB itself; applications should choose
-record number values equal to or greater than 10,000.</p>
- <p>Between the BEGIN and END keywords there should be one optional
-<span class="emphasis"><em>DUPLICATE</em></span> line and one line for each
-data item logged as part of this log record.</p>
- <p>The <span class="emphasis"><em>DUPLICATE</em></span> line is of the form:</p>
+ <p>
+ The <span class="emphasis"><em>BEGIN</em></span> line should be used for most
+ record types.
+ </p>
+ <p>
+ The <span class="emphasis"><em>BEGIN_COMPAT</em></span> is used for log record
+ compatibility to facilitate online upgrades of replication
+ groups. Records created with this keyword will produce reading
+ and printing routines, but no logging routines. The recovery
+ routines are retrieved from older releases, so no recovery
+ templates will be generated for these records.
+ </p>
+ <p>
+ The <span class="emphasis"><em>DB_VERSION_NUMBER</em></span> variable should
+ be replaced with the current major and minor version of
+ Berkeley DB, with all punctuation removed. For example,
+ Berkeley DB version 4.2 should be 42, version 4.5 should be
+ 45.
+ </p>
+ <p>
+ The <span class="emphasis"><em>RECORD_NAME</em></span> variable should be
+ replaced with a record name for this log record. The
+ <span class="emphasis"><em>RECORD_NUMBER</em></span> variable should be
+ replaced with a record number.
+ </p>
+ <p>
+ The combination of PREFIX name and
+ <span class="emphasis"><em>RECORD_NAME</em></span>, and the
+ <span class="emphasis"><em>RECORD_NUMBER</em></span> must be unique for the
+ application, that is, values for application-specific and
+ Berkeley DB log records may not overlap. Further, because
+ record numbers are stored in log files, which are usually
+ portable across application and Berkeley DB releases, any
+ change to the record numbers or log record format or should be
+ handled as described in the section on log format changes in
+ the <a href="../upgrading/upgrade_process.html" class="olink">Upgrading Berkeley DB installations</a> chapter of the Berkeley DB Installation and Build Guide. The record
+ number space below 10,000 is reserved for Berkeley DB itself;
+ applications should choose record number values equal to or
+ greater than 10,000.
+ </p>
+ <p>
+ Between the BEGIN and END keywords there should be one
+ optional <span class="emphasis"><em>DUPLICATE</em></span> line and one line for
+ each data item logged as part of this log record.</p>
+ <p>
+ The <span class="emphasis"><em>DUPLICATE</em></span> line is of the
+ form:
+ </p>
<pre class="programlisting">DUPLICATE <span class="emphasis"><em>RECORD_NAME</em></span> <span class="emphasis"><em>DB_VERSION_NUMBER</em></span> <span class="emphasis"><em>RECORD_NUMBER</em></span></pre>
- <p>The <span class="emphasis"><em>DUPLICATE</em></span> specifier should be used when creating a record
-that requires its own record number but can use the argument structure,
-reading and printing routines from another record. In this case, we will
-create a new log record type, but use the enclosing log record type for
-the argument structure and the log reading and printing routines.</p>
- <p>The format of lines for each data item logged is as follows:</p>
- <pre class="programlisting">ARG | DBT | POINTER <span class="emphasis"><em>variable_name</em></span> <span class="emphasis"><em>variable_type</em></span> <span class="emphasis"><em>printf_format</em></span></pre>
- <p>The keyword ARG indicates that the argument is a simple parameter of
-the type specified. For example, a file ID might be logged as:</p>
- <pre class="programlisting">ARG fileID int d</pre>
- <p>The keyword DBT indicates that the argument is a Berkeley DB DBT structure,
-containing a length and pointer to a byte string. The keyword POINTER
-indicates that the argument is a pointer to the data type specified (of
-course the data type, not the pointer, is what is logged).</p>
- <p>The <span class="emphasis"><em>variable_name</em></span> is the field name within the structure that
-will be used to refer to this item. The <span class="emphasis"><em>variable_type</em></span> is
-the C-language type of the variable, and the printf format is the
-C-language format string, without the leading percent ("%") character,
-that should be used to display the contents of the field (for example,
-"s" for string, "d" for signed integral type, "u" for unsigned integral
-type, "ld" for signed long integral type, "lu" for long unsigned
-integral type, and so on).</p>
- <p>For example, ex_apprec.src defines a single log record type, used to
-log a directory name that has been stored in a DBT:</p>
+ <p>
+ The <span class="emphasis"><em>DUPLICATE</em></span> specifier should be used
+ when creating a record that requires its own record number but
+ can use the argument structure, reading and printing routines
+ from another record. In this case, we will create a new log
+ record type, but use the enclosing log record type for the
+ argument structure and the log reading and printing
+ routines.
+ </p>
+ <p>
+ The format of lines for each data item logged is as
+ follows:
+ </p>
+ <pre class="programlisting">ARG | DBT | POINTER <span class="emphasis"><em>variable_name</em></span> <span class="emphasis"><em>variable_type</em></span> <span class="emphasis"><em>printf_format</em></span></pre>
+ <p>
+ The keyword ARG indicates that the argument is a simple
+ parameter of the type specified. For example, a file ID might
+ be logged as:
+ </p>
+ <pre class="programlisting">ARG fileID int d</pre>
+ <p>
+ The keyword DBT indicates that the argument is a Berkeley DB
+ DBT structure, containing a length and pointer to a byte
+ string. The keyword POINTER indicates that the argument is a
+ pointer to the data type specified (of course the data type,
+ not the pointer, is what is logged).
+ </p>
+ <p>
+ The <span class="emphasis"><em>variable_name</em></span> is the field name
+ within the structure that will be used to refer to this item.
+ The <span class="emphasis"><em>variable_type</em></span> is the C-language type
+ of the variable, and the printf format is the C-language
+ format string, without the leading percent ("%") character,
+ that should be used to display the contents of the field (for
+ example, "s" for string, "d" for signed integral type, "u" for
+ unsigned integral type, "ld" for signed long integral type,
+ "lu" for long unsigned integral type, and so on).
+ </p>
+ <p>
+ For example, ex_apprec.src defines a single log record type,
+ used to log a directory name that has been stored in a
+ DBT:
+ </p>
<pre class="programlisting">BEGIN mkdir 10000
DBT dirname DBT s
END</pre>
- <p>As the name suggests, this example of an application-defined log record
-will be used to log the creation of a directory. There are many more
-examples of XXX.src files in the Berkeley DB distribution. For example, the
-file btree/btree.src contains the definitions for the log records
-supported by the Berkeley DB Btree access method.</p>
+ <p>
+ As the name suggests, this example of an application-defined
+ log record will be used to log the creation of a directory.
+ There are many more examples of XXX.src files in the Berkeley
+ DB distribution. For example, the file btree/btree.src
+ contains the definitions for the log records supported by the
+ Berkeley DB Btree access method.
+ </p>
</div>
<div class="navfooter">
<hr />
@@ -135,13 +196,13 @@ supported by the Berkeley DB Btree access method.</p>
<td width="40%" align="right"> <a accesskey="n" href="apprec_auto.html">Next</a></td>
</tr>
<tr>
- <td width="40%" align="left" valign="top">Chapter 14. 
- Application Specific Logging and Recovery
-  </td>
+ <td width="40%" align="left" valign="top">Chapter 14.  Application Specific Logging and
+ Recovery  </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
- <td width="40%" align="right" valign="top"> Automatically generated functions</td>
+ <td width="40%" align="right" valign="top"> Automatically generated
+ functions</td>
</tr>
</table>
</div>