~ubuntu-branches/ubuntu/maverick/evolution-data-server/maverick-proposed

« back to all changes in this revision

Viewing changes to libdb/docs/api_cxx/db_key_range.html

  • Committer: Bazaar Package Importer
  • Author(s): Didier Roche
  • Date: 2010-05-17 17:02:06 UTC
  • mfrom: (1.1.79 upstream) (1.6.12 experimental)
  • Revision ID: james.westby@ubuntu.com-20100517170206-4ufr52vwrhh26yh0
Tags: 2.30.1-1ubuntu1
* Merge from debian experimental. Remaining change:
  (LP: #42199, #229669, #173703, #360344, #508494)
  + debian/control:
    - add Vcs-Bzr tag
    - don't use libgnome
    - Use Breaks instead of Conflicts against evolution 2.25 and earlier.
  + debian/evolution-data-server.install,
    debian/patches/45_libcamel_providers_version.patch:
    - use the upstream versioning, not a Debian-specific one 
  + debian/libedata-book1.2-dev.install, debian/libebackend-1.2-dev.install,
    debian/libcamel1.2-dev.install, debian/libedataserverui1.2-dev.install:
    - install html documentation
  + debian/rules:
    - don't build documentation it's shipped with the tarball

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<!--$Id$-->
2
 
<!--Copyright 1997-2002 by Sleepycat Software, Inc.-->
3
 
<!--All rights reserved.-->
4
 
<!--See the file LICENSE for redistribution information.-->
5
 
<html>
6
 
<head>
7
 
<title>Berkeley DB: Db::key_range</title>
8
 
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
9
 
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
10
 
</head>
11
 
<body bgcolor=white>
12
 
<a name="2"><!--meow--></a>
13
 
<table width="100%"><tr valign=top>
14
 
<td>
15
 
<h1>Db::key_range</h1>
16
 
</td>
17
 
<td align=right>
18
 
<a href="../api_cxx/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
19
 
</td></tr></table>
20
 
<hr size=1 noshade>
21
 
<tt>
22
 
<h3><pre>
23
 
#include &lt;db_cxx.h&gt;
24
 
<p>
25
 
int
26
 
Db::key_range(DbTxn *txnid
27
 
    Dbt *key, DB_KEY_RANGE *key_range, u_int32_t flags);
28
 
</pre></h3>
29
 
<h1>Description</h1>
30
 
<p>The Db::key_range method returns an estimate of the proportion of keys
31
 
that are less than, equal to, and greater than the specified key.  The
32
 
underlying database must be of type Btree.
33
 
<p>The information is returned in the <b>key_range</b> argument, which
34
 
contains three elements of type double: <b>less</b>, <b>equal</b>,
35
 
and <b>greater</b>.  Values are in the range of 0 to 1; for example,
36
 
if the field <b>less</b> is 0.05, 5% of the keys in the database are
37
 
less than the key argument.  The value for <b>equal</b> will be zero
38
 
if there is no matching key, and will be non-zero otherwise.
39
 
<p>If the operation is to be transaction-protected, the <b>txnid</b>
40
 
parameter is a transaction handle returned from <a href="../api_cxx/txn_begin.html">DbEnv::txn_begin</a>;
41
 
otherwise, NULL.
42
 
The Db::key_range method does not retain the locks it acquires for the
43
 
life of the transaction, so estimates may not be repeatable.
44
 
<p>The <b>flags</b> parameter is currently unused, and must be set to 0.
45
 
<p>The Db::key_range method either returns a non-zero error value or throws an exception that
46
 
encapsulates a non-zero error value on failure, and returns 0 on success.
47
 
<h1>Errors</h1>
48
 
<p>The Db::key_range method may fail and throw an exception or return a non-zero error for the following conditions:
49
 
<p><dl compact>
50
 
<p><dt>EINVAL<dd>An invalid flag value or parameter was specified.
51
 
<p>The underlying database was not of type Btree.
52
 
</dl>
53
 
<p>If the operation was selected to resolve a deadlock, the
54
 
Db::key_range method will fail and
55
 
and either return <a href="../ref/program/errorret.html#DB_LOCK_DEADLOCK">DB_LOCK_DEADLOCK</a> or
56
 
throw a <a href="../api_cxx/deadlock_class.html">DbDeadlockException</a> exception.
57
 
<p>The Db::key_range method may fail and throw an exception or return a non-zero error for errors specified for other Berkeley DB and C library or system methods.
58
 
If a catastrophic error has occurred, the Db::key_range method may fail and
59
 
either return <a href="../ref/program/errorret.html#DB_RUNRECOVERY">DB_RUNRECOVERY</a> or throw a
60
 
<a href="../api_cxx/runrec_class.html">DbRunRecoveryException</a>,
61
 
in which case all subsequent Berkeley DB calls will fail in the same way.
62
 
<h1>Class</h1>
63
 
<a href="../api_cxx/db_class.html">Db</a>
64
 
<h1>See Also</h1>
65
 
<a href="../api_cxx/db_list.html">Databases and Related Methods</a>
66
 
</tt>
67
 
<table width="100%"><tr><td><br></td><td align=right>
68
 
<a href="../api_cxx/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
69
 
</td></tr></table>
70
 
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
71
 
</body>
72
 
</html>