diff options
Diffstat (limited to 'bdb/docs/ref/am/partial.html')
-rw-r--r-- | bdb/docs/ref/am/partial.html | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/bdb/docs/ref/am/partial.html b/bdb/docs/ref/am/partial.html deleted file mode 100644 index 7f3af8f68df..00000000000 --- a/bdb/docs/ref/am/partial.html +++ /dev/null @@ -1,134 +0,0 @@ -<!--$Id: partial.so,v 10.18 2000/12/18 21:05:14 bostic Exp $--> -<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.--> -<!--All rights reserved.--> -<html> -<head> -<title>Berkeley DB Reference Guide: Partial record storage and retrieval</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><tr valign=top> -<td><h3><dl><dt>Berkeley DB Reference Guide:<dd>Access Methods</dl></h3></td> -<td width="1%"><a href="../../ref/am/stability.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/am/verify.html"><img src="../../images/next.gif" alt="Next"></a> -</td></tr></table> -<p> -<h1 align=center>Partial record storage and retrieval</h1> -<p>It is possible to both store and retrieve parts of data items in all -Berkeley DB access methods. This is done by setting the -<a href="../../api_c/dbt.html#DB_DBT_PARTIAL">DB_DBT_PARTIAL</a> flag in the <a href="../../api_c/dbt.html">DBT</a> structure passed to the -Berkeley DB interface. -<p>The <a href="../../api_c/dbt.html#DB_DBT_PARTIAL">DB_DBT_PARTIAL</a> flag is based on the values of two fields -of the <a href="../../api_c/dbt.html">DBT</a> structure, <b>dlen</b> and <b>doff</b>. The value -of <b>dlen</b> is the number of bytes of the record in which the -application is interested. The value of <b>doff</b> is the offset from -the beginning of the data item where those bytes start. -<p>For example, if the data item were <b>ABCDEFGHIJKL</b>, a <b>doff</b> -value of 3 would indicate that the bytes of interest started at -<b>D</b>, and a <b>dlen</b> value of 4 would indicate that the bytes -of interest were <b>DEFG</b>. -<p>When retrieving a data item from a database, the <b>dlen</b> bytes -starting <b>doff</b> bytes from the beginning of the record are -returned, as if they comprised the entire record. If any or all of the -specified bytes do not exist in the record, the retrieval is still -successful and any existing bytes (and nul bytes for any non-existent -bytes) are returned. -<p>When storing a data item into the database, the <b>dlen</b> bytes -starting <b>doff</b> bytes from the beginning of the specified key's -data record are replaced by the data specified by the <b>data</b> and -<b>size</b> fields. If <b>dlen</b> is smaller than <b>size</b>, the -record will grow, and if <b>dlen</b> is larger than <b>size</b>, the -record will shrink. If the specified bytes do not exist, the record will -be extended using nul bytes as necessary, and the store call will still -succeed. -<p>The following are various examples of the put case for the -<a href="../../api_c/dbt.html#DB_DBT_PARTIAL">DB_DBT_PARTIAL</a> flag. In all examples, the initial data item is 20 -bytes in length: -<p><b>ABCDEFGHIJ0123456789</b> -<p><ol> -<p><li><p><blockquote><pre>size = 20 -doff = 0 -dlen = 20 -data = abcdefghijabcdefghij -<p> -Result: The 20 bytes at offset 0 are replaced by the 20 bytes of data, -i.e., the entire record is replaced. -<p> -ABCDEFGHIJ0123456789 -> abcdefghijabcdefghij -</pre></blockquote> -<p><li><p><blockquote><pre>size = 10 -doff = 20 -dlen = 0 -data = abcdefghij -<p> -Result: The 0 bytes at offset 20 are replaced by the 10 bytes of data, -i.e., the record is extended by 10 bytes. -<p> -ABCDEFGHIJ0123456789 -> ABCDEFGHIJ0123456789abcdefghij -</pre></blockquote> -<p><li><p><blockquote><pre>size = 10 -doff = 10 -dlen = 5 -data = abcdefghij -<p> -Result: The 5 bytes at offset 10 are replaced by the 10 bytes of data. -<p> -ABCDEFGHIJ0123456789 -> ABCDEFGHIJabcdefghij56789 -</pre></blockquote> -<p><li><p><blockquote><pre>size = 10 -doff = 10 -dlen = 0 -data = abcdefghij -<p> -Result: The 0 bytes at offset 10 are replaced by the 10 bytes of data, -i.e., 10 bytes are inserted into the record. -<p> -ABCDEFGHIJ0123456789 -> ABCDEFGHIJabcdefghij0123456789 -</pre></blockquote> -<p><li><p><blockquote><pre>size = 10 -doff = 2 -dlen = 15 -data = abcdefghij -<p> -Result: The 15 bytes at offset 2 are replaced by the 10 bytes of data. -<p> -ABCDEFGHIJ0123456789 -> ABabcdefghij789 -</pre></blockquote> -<p><li><p><blockquote><pre>size = 10 -doff = 0 -dlen = 0 -data = abcdefghij -<p> -Result: The 0 bytes at offset 0 are replaced by the 10 bytes of data, -i.e., the 10 bytes are inserted at the beginning of the record. -<p> -ABCDEFGHIJ0123456789 -> abcdefghijABCDEFGHIJ0123456789 -</pre></blockquote> -<p><li><p><blockquote><pre>size = 0 -doff = 0 -dlen = 10 -data = "" -<p> -Result: The 10 bytes at offset 0 are replaced by the 0 bytes of data, -i.e., the first 10 bytes of the record are discarded. -<p> -ABCDEFGHIJ0123456789 -> 0123456789 -</pre></blockquote> -<p><li><p><blockquote><pre>size = 10 -doff = 25 -dlen = 0 -data = abcdefghij -<p> -Result: The 0 bytes at offset 25 are replaced by the 10 bytes of data, -i.e., 10 bytes are inserted into the record past the end of the current -data (\0 represents a nul byte). -<p> -ABCDEFGHIJ0123456789 -> ABCDEFGHIJ0123456789\0\0\0\0\0abcdefghij -</pre></blockquote> -</ol> -<table><tr><td><br></td><td width="1%"><a href="../../ref/am/stability.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/am/verify.html"><img src="../../images/next.gif" alt="Next"></a> -</td></tr></table> -<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font> -</body> -</html> |