<?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 class="navheader"> <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>