Sophie

Sophie

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

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_disconnect.html" title="Database Disconnections" />
  <link rel="next" href="fn_dbev_prepare.html" title="SQL Statement Preparation" />
  <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_dbev_shutdown" />
    <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_disconnect.html" title="Database Disconnections">Prev</a> | <a class="link" href="fn_dbev_prepare.html" title="SQL Statement Preparation">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>
      <a href="fn_disconnect.html">Database Disconnections</a>
   </div>
   <div class="selected">
      <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_dbev_shutdown" />
    <h2>10.5. Database Shutdown</h2>
<p>
      <span class="computeroutput">DB.DBA.DBEV_SHUTDOWN()</span>
    </p>
  <p>
If defined, this function is called when shutting down the server,
following disconnection of all clients and making a checkpoint.  When
a disconnect occurs as a result of server shutdown the DBEV_DISCONNECT hook is not called
and this function is expected to perform any logout processing.
The rationale is that all disconnect hooks would be called at the same time,
creating likely deadlocks, resource contention and there could be no
guarantee of time consumed by them or of even whether
they would terminate at all.
</p>
  <p>
The shutdown will do a checkpoint before calling this hook.  This checkpoint
will terminate all transactions with a deadlock state.  If transactions
contain automatic retries, etc...,  we cannot guarantee that all activity would
have terminated when this hook starts.  However, the hook function can try
</p>

<div>
      <pre class="programlisting">
txn_killall (6);
rollback work;
</pre>
    </div>

  <p>
to signal an error on all other transactions to prompt them to
terminate.  Again, this is not a sure-fire termination since this
could be handled by procedures.
</p>
  <p>
When this hook returns the server commits the transaction
in which this was running and exits regardless of any lingering
activity.  There is no hard time limit for this function.
Killing the process during this function has no specific ill effect, besides losing
uncommitted work by said function.
</p>
  <p>
Result sets are prohibited, return values are discarded, errors are logged
but not otherwise processed.
</p>

<a name="" />
    <div class="example">
      <div class="exampletitle">The Shutdown Hook</div>
<div>
        <pre class="programlisting">
create procedure DB.DBA.DBEV_SHUTDOWN ()
{
  dbg_obj_print (&#39; server shut down.&#39;);
  update security_log set sl_logged_out = now () where sl_logged_out is null;
}
</pre>
      </div>
<p>
This just marks all open connections to be disconnected at the current time.
</p>
</div>
<table border="0" width="90%" id="navbarbottom">
    <tr>
        <td align="left" width="33%">
          <a href="fn_disconnect.html" title="Database Disconnections">Previous</a>
          <br />Database Disconnections</td>
     <td align="center" width="34%">
          <a href="hooks.html">Chapter Contents</a>
     </td>
        <td align="right" width="33%">
          <a href="fn_dbev_prepare.html" title="SQL Statement Preparation">Next</a>
          <br />SQL Statement Preparation</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>