Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 71d40963b505df4524269198e237b3e3 > files > 257

virtuoso-opensource-doc-6.1.4-2.fc14.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
 <head profile="http://internetalchemy.org/2003/02/profile">
  <link rel="foaf" type="application/rdf+xml" title="FOAF" href="http://www.openlinksw.com/dataspace/uda/about.rdf" />
  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
  <meta name="dc.title" content="10. Database Event Hooks" />
  <meta name="dc.subject" content="10. Database Event Hooks" />
  <meta name="dc.creator" content="OpenLink Software Documentation Team ;&#10;" />
  <meta name="dc.copyright" content="OpenLink Software, 1999 - 2009" />
  <link rel="top" href="index.html" title="OpenLink Virtuoso Universal Server: Documentation" />
  <link rel="search" href="/doc/adv_search.vspx" title="Search OpenLink Virtuoso Universal Server: Documentation" />
  <link rel="parent" href="hooks.html" title="Chapter Contents" />
  <link rel="prev" href="fn_logins.html" title="Database Logins" />
  <link rel="next" href="fn_dbev_shutdown.html" title="Database Shutdown" />
  <link rel="shortcut icon" href="../images/misc/favicon.ico" type="image/x-icon" />
  <link rel="stylesheet" type="text/css" href="doc.css" />
  <link rel="stylesheet" type="text/css" href="/doc/translation.css" />
  <title>10. Database Event Hooks</title>
  <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" />
  <meta name="author" content="OpenLink Software Documentation Team ;&#10;" />
  <meta name="copyright" content="OpenLink Software, 1999 - 2009" />
  <meta name="keywords" content="" />
  <meta name="GENERATOR" content="OpenLink XSLT Team" />
 </head>
 <body>
  <div id="header">
    <a name="fn_disconnect" />
    <img src="../images/misc/logo.jpg" alt="" />
    <h1>10. Database Event Hooks</h1>
  </div>
  <div id="navbartop">
   <div>
      <a class="link" href="hooks.html">Chapter Contents</a> | <a class="link" href="fn_logins.html" title="Database Logins">Prev</a> | <a class="link" href="fn_dbev_shutdown.html" title="Database Shutdown">Next</a>
   </div>
  </div>
  <div id="currenttoc">
   <form method="post" action="/doc/adv_search.vspx">
    <div class="search">Keyword Search: <br />
        <input type="text" name="q" /> <input type="submit" name="go" value="Go" />
    </div>
   </form>
   <div>
      <a href="http://www.openlinksw.com/">www.openlinksw.com</a>
   </div>
   <div>
      <a href="http://docs.openlinksw.com/">docs.openlinksw.com</a>
   </div>
    <br />
   <div>
      <a href="index.html">Book Home</a>
   </div>
    <br />
   <div>
      <a href="contents.html">Contents</a>
   </div>
   <div>
      <a href="preface.html">Preface</a>
   </div>
    <br />
   <div class="selected">
      <a href="hooks.html">Database Event Hooks</a>
   </div>
    <br />
   <div>
      <a href="fn_dbev_startup.html">Database Startup</a>
   </div>
   <div>
      <a href="fn_dbev_connect.html">Database Connections</a>
   </div>
   <div>
      <a href="fn_logins.html">Database Logins</a>
   </div>
   <div class="selected">
      <a href="fn_disconnect.html">Database Disconnections</a>
   </div>
   <div>
      <a href="fn_dbev_shutdown.html">Database Shutdown</a>
   </div>
   <div>
      <a href="fn_dbev_prepare.html">SQL Statement Preparation</a>
   </div>
   <div>
      <a href="sqlparsetree.html">SQL Parse Tree</a>
   </div>
   <div>
      <a href="fn_davlogins.html">WebDAV Logins</a>
   </div>
   <div>
      <a href="assocauxdata.html">Associating Auxiliary Data With A Connection</a>
   </div>
    <br />
  </div>
  <div id="text">
    <a name="fn_disconnect" />
    <h2>10.4. Database Disconnections</h2>
<p>
      <span class="computeroutput">DB.DBA.DBEV_DISCONNECT()</span>
    </p>
  <p>
If defined, this procedure is called after a connection
has been found to be disconnected, either as a result of the client  process disconnecting,
the client process terminating or the server deciding
to disconnect, see <a href="fn_disconnect_user.html">disconnect_user()</a>.
This will also be called if the DBEV_CONNECT hook signals an error, leading to the connection being closed
during the connect sequence.
</p>
  <p>
All activity on behalf of the disconnecting client is terminated by the time this
function is called.  This function runs in its own transaction.
Result sets are prohibited, return values discarded and errors are
logged in the error log file but not otherwise processed.  The transaction is
committed regardless of errors.  The user and connection_id and any connection variables are defined
during this hook.
</p>

<a name="" />
    <div class="example">
      <div class="exampletitle">Disconnect Interception</div>
<div>
        <pre class="programlisting">
create procedure DB.DBA.DBEV_DISCONNECT ()
{
  declare ctime datetime;
  dbg_obj_print (user, &#39; disconnected&#39;);
  ctime := connection_get (&#39;login_time&#39;);
  update security_log set sl_logged_out = now () where
    sl_user = user and sl_logged_in = ctime;
  if (row_count () = 0)
    signal (&#39;ELOGO&#39;, &#39;Logout by user with no login record.  This occurs when DBEV_CONNECT denied permission&#39;);
}
</pre>
      </div>
<p>
This function updates the row created by the connect hook to set the
logout time.
</p>
</div>
<table border="0" width="90%" id="navbarbottom">
    <tr>
        <td align="left" width="33%">
          <a href="fn_logins.html" title="Database Logins">Previous</a>
          <br />Database Logins</td>
     <td align="center" width="34%">
          <a href="hooks.html">Chapter Contents</a>
     </td>
        <td align="right" width="33%">
          <a href="fn_dbev_shutdown.html" title="Database Shutdown">Next</a>
          <br />Database Shutdown</td>
    </tr>
    </table>
  </div>
  <div id="footer">
    <div>Copyright© 1999 - 2009 OpenLink Software All rights reserved.</div>
   <div id="validation">
    <a href="http://validator.w3.org/check/referer">
        <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" />
    </a>
    <a href="http://jigsaw.w3.org/css-validator/">
        <img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" />
    </a>
   </div>
  </div>
 </body>
</html>