summaryrefslogtreecommitdiff
path: root/bdb/docs/ref/am_conf/bt_prefix.html
diff options
context:
space:
mode:
Diffstat (limited to 'bdb/docs/ref/am_conf/bt_prefix.html')
-rw-r--r--bdb/docs/ref/am_conf/bt_prefix.html66
1 files changed, 0 insertions, 66 deletions
diff --git a/bdb/docs/ref/am_conf/bt_prefix.html b/bdb/docs/ref/am_conf/bt_prefix.html
deleted file mode 100644
index 621de75fa6b..00000000000
--- a/bdb/docs/ref/am_conf/bt_prefix.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!--$Id: bt_prefix.so,v 10.17 2000/07/04 18:28:27 bostic Exp $-->
-<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
-<!--All rights reserved.-->
-<html>
-<head>
-<title>Berkeley DB Reference Guide: Btree prefix comparison</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>
-<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_conf/bt_compare.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_conf/bt_minkey.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p>
-<h1 align=center>Btree prefix comparison</h1>
-<p>The Berkeley DB Btree implementation maximizes the number of keys that can be
-stored on an internal page by storing only as many bytes of each key as
-are necessary to distinguish it from adjacent keys. The prefix comparison
-routine is what determines this minimum number of bytes (i.e., the length
-of the unique prefix), that must be stored. A prefix comparison function
-for the Btree can be specified by calling <a href="../../api_c/db_set_bt_prefix.html">DB-&gt;set_bt_prefix</a>.
-<p>The prefix comparison routine must be compatible with the overall
-comparison function of the Btree, since what distinguishes any two keys
-depends entirely on the function used to compare them. This means that
-if a prefix comparison routine is specified by the application, a
-compatible overall comparison routine must also have been specified.
-<p>Prefix comparison routines are passed pointers to keys as arguments. The
-keys are represented as <a href="../../api_c/dbt.html">DBT</a> structures. The prefix comparison
-function must return the number of bytes of the second key argument that
-are necessary to determine if it is greater than the first key argument.
-If the keys are equal, the length of the second key should be returned.
-The only fields that the routines may examine in the <a href="../../api_c/dbt.html">DBT</a>
-structures are <b>data</b> and <b>size</b> fields.
-<p>An example prefix comparison routine follows:
-<p><blockquote><pre>u_int32_t
-compare_prefix(dbp, a, b)
- DB *dbp;
- const DBT *a, *b;
-{
- size_t cnt, len;
- u_int8_t *p1, *p2;
-<p>
- cnt = 1;
- len = a-&gt;size &gt; b-&gt;size ? b-&gt;size : a-&gt;size;
- for (p1 =
- a-&gt;data, p2 = b-&gt;data; len--; ++p1, ++p2, ++cnt)
- if (*p1 != *p2)
- return (cnt);
- /*
- * They match up to the smaller of the two sizes.
- * Collate the longer after the shorter.
- */
- if (a-&gt;size &lt; b-&gt;size)
- return (a-&gt;size + 1);
- if (b-&gt;size &lt; a-&gt;size)
- return (b-&gt;size + 1);
- return (b-&gt;size);
-}</pre></blockquote>
-<p>The usefulness of this functionality is data dependent, but in some data
-sets can produce significantly reduced tree sizes and faster search times.
-<table><tr><td><br></td><td width="1%"><a href="../../ref/am_conf/bt_compare.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_conf/bt_minkey.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>