1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
|
<?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>DbLockNotGrantedException</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="dbexception.html" title="Chapter 6. The DbException Class" />
<link rel="prev" href="dbdeadlock.html" title="DbDeadlockException" />
<link rel="next" href="dbmemory.html" title="DbMemoryException" />
</head>
<body>
<div xmlns="" class="navheader">
<div class="libver">
<p>Library Version 11.2.5.3</p>
</div>
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">DbLockNotGrantedException</th>
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="dbdeadlock.html">Prev</a> </td>
<th width="60%" align="center">Chapter 6. The DbException Class</th>
<td width="20%" align="right"> <a accesskey="n" href="dbmemory.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="dblocknotgranted"></a>DbLockNotGrantedException</h2>
</div>
</div>
</div>
<pre class="programlisting">#include <db_cxx.h>
class DbLockNotGrantedException : public DbException {
public:
db_lockop_t get_op() const;
db_lockmode_t get_mode() const;
const Dbt* get_obj() const;
DbLock *get_lock() const;
int get_index() const;
}; </pre>
<p>
This information describes the <code class="classname">DbLockNotGrantedException</code> class and how
it is used by the various Berkeley DB classes.
</p>
<p>
A <code class="classname">DbLockNotGrantedException</code> is thrown when
lock or transaction timeouts have been configured, a database operation has timed out, and the
<a class="link" href="envset_flags.html#envset_flags_DB_TIME_NOTGRANTED">DB_TIME_NOTGRANTED</a>
configuration flag has been specified.
</p>
<p>
Additionally <code class="classname">DbLockNotGrantedException</code> is thrown when a Berkeley DB
Concurrent Data Store database environment configured for lock timeouts was unable to grant
a lock in the allowed time.
</p>
<p>
Finally, <code class="classname">DbLockNotGrantedException</code> is thrown when a lock requested using the
<a class="xref" href="lockget.html" title="DbEnv::lock_get()">DbEnv::lock_get()</a>
or
<a class="xref" href="lockvec.html" title="DbEnv::lock_vec()">DbEnv::lock_vec()</a>
methods, where the <a class="link" href="lockvec.html#vec_DB_LOCK_NOWAIT">DB_LOCK_NOWAIT</a>
flag or lock timers were configured, could not be granted before the wait-time expired.
</p>
<p>
The <a class="link" href="dbexception.html" title="Chapter 6. The DbException Class">DbException</a> errno value is set to
<code class="literal">DB_LOCK_NOTGRANTED</code>.
</p>
<p>
The following getter methods are available on this class:
</p>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>
<code class="methodname">get_op()</code>
</p>
<p>
Returns <code class="literal">DB_LOCK_GET</code> when <a class="xref" href="lockget.html" title="DbEnv::lock_get()">DbEnv::lock_get()</a>
was called, and returns the <span class="bold"><strong>op</strong></span> for the failed
<code class="literal">DB_LOCKREQ</code> when <a class="xref" href="lockvec.html" title="DbEnv::lock_vec()">DbEnv::lock_vec()</a>
was called. If this exception is raised due to a database
operation, <code class="literal">DB_LOCK_GET</code> is returned.
</p>
</li>
<li>
<p>
<code class="methodname">get_mode()</code>
</p>
<p>
Returns the <span class="bold"><strong>mode</strong></span> parameter when
<a class="xref" href="lockget.html" title="DbEnv::lock_get()">DbEnv::lock_get()</a> was called, and returns the
<span class="bold"><strong>mode</strong></span> for the failed <code class="literal">DB_LOCKREQ</code>
when <a class="xref" href="lockvec.html" title="DbEnv::lock_vec()">DbEnv::lock_vec()</a> was called.
If this exception is raised due to a database operation,
<code class="literal">DB_LOCK_NG</code> is returned.
</p>
</li>
<li>
<p>
<code class="methodname">get_obj()</code>
</p>
<p>
Returns the <span class="bold"><strong>object</strong></span> parameter when
<a class="xref" href="lockget.html" title="DbEnv::lock_get()">DbEnv::lock_get()</a> was called, and returns the
<span class="bold"><strong>object</strong></span> for the failed <code class="literal">DB_LOCKREQ</code>
when <a class="xref" href="lockvec.html" title="DbEnv::lock_vec()">DbEnv::lock_vec()</a> was called.
The <a class="link" href="dbt.html" title="Chapter 4. The Dbt Handle">Dbt</a> pointer may or may not refer valid
memory, depending on whether the <a class="link" href="dbt.html" title="Chapter 4. The Dbt Handle">Dbt</a>
used in the call to the failed <a class="xref" href="lockget.html" title="DbEnv::lock_get()">DbEnv::lock_get()</a>
or <a class="xref" href="lockvec.html" title="DbEnv::lock_vec()">DbEnv::lock_vec()</a> method is still in
scope and has not been deleted.
</p>
</li>
<li>
<p>
<code class="methodname">get_lock()</code>
</p>
<p>
Returns NULL when <a class="xref" href="lockget.html" title="DbEnv::lock_get()">DbEnv::lock_get()</a> was called,
and returns the <span class="bold"><strong>lock</strong></span> in the failed <code class="literal">DB_LOCKREQ</code>
when <a class="xref" href="lockvec.html" title="DbEnv::lock_vec()">DbEnv::lock_vec()</a> was called.
If this exception is raised due to a database operation, NULL is returned.
</p>
</li>
<li>
<p>
<code class="methodname">get_index()</code>
</p>
<p>
Returns <code class="literal">-1</code> when <a class="xref" href="lockget.html" title="DbEnv::lock_get()">DbEnv::lock_get()</a> was called,
and returns the index of the failed <code class="literal">DB_LOCKREQ</code>
when <a class="xref" href="lockvec.html" title="DbEnv::lock_vec()">DbEnv::lock_vec()</a> was called.
If this exception is raised due to a database operation,
<code class="literal">0</code> is returned.
</p>
</li>
</ul>
</div>
</div>
<div class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"><a accesskey="p" href="dbdeadlock.html">Prev</a> </td>
<td width="20%" align="center">
<a accesskey="u" href="dbexception.html">Up</a>
</td>
<td width="40%" align="right"> <a accesskey="n" href="dbmemory.html">Next</a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">DbDeadlockException </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
<td width="40%" align="right" valign="top"> DbMemoryException</td>
</tr>
</table>
</div>
</body>
</html>
|