<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><!-- InstanceBegin template="../../Templates/DocTemp.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<!-- InstanceBeginEditable name="doctitle" -->
<title>Optimization</title>
<!-- InstanceEndEditable --> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../../docs.css" rel="stylesheet" type="text/css">
<script language="JavaScript1.2" src="../../docs.js"></script>
<!-- InstanceBeginEditable name="head" --><!-- InstanceEndEditable -->
</head>

<body>
<table width="100%" class="lightblue" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><a href="http://www.omnidex.com"><img src="../../images/flatlogo.gif" width="95" height="25" hspace="3" vspace="3" border="0"></a></td>
    <td><img src="../../images/omnidex.gif" width="109" height="25" hspace="3" vspace="3"></td>
    <td align="right" valign="top"><p class="banner"><a href="../../Contents.htm">Contents</a> 
        | <a href="../../Quick%20Links.htm">Quick Links</a></p></td>
  </tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td width="175" class="bar"><p class="banner">&nbsp;</p></td>
    <td align="right" class="bar"> <!-- InstanceBeginEditable name="Section Title" -->
      <h1>Optimization</h1>
      <!-- InstanceEndEditable --></td>
  </tr>
  <tr> 
    <td width="175" class="left1 lightblue"><img src="../../images/blank.gif" width="10" height="20"> 
    </td>
    <td valign="top" class="left1 lightblue">&nbsp; </td>
  </tr>
  <tr> 
    <td width="175" valign="top" class="left"><!-- InstanceBeginEditable name="leftnav" -->
      <p>left navigation</p>
      <p>&nbsp;</p>
      <!-- InstanceEndEditable --></td>
    <td valign="top" class="content"> <!-- InstanceBeginEditable name="Content" --> 
      <h2>Nested Queries</h2>
      <p>Nested queries, or subqueries, are SELECT statements &quot;nested&quot; 
        within another SELECT statement. Nested queries are supported in a WHERE 
        clause, an EXISTS clause within a WHERE clause, a FROM clause, a HAVING 
        clause, and as a Select-item in the SQL SELECT item list. See <a href="../../SQL%20Reference/Nested%20Queries.htm">Nested 
        Queries</a> in the <a href="../../SQL%20Reference/SQL%20Reference.htm">SQL 
        Reference</a> for more details on nested query support. </p>
      <p>The nested query is processed first, then the results are converted to 
        literals and applied as criteria in the outer query.</p>
      <ul>
        <li>Nested queries can be used to avoid cartesian products. Cartesian 
          products are caused when applying criteria to multiple child tables 
          or when referencing two tables without joining them. Cartesian products 
          inhibit query performance and can distort aggregation results. Using 
          a nested query to qualify records in one of the tables resolves this 
          problem. </li>
        <li>Nested queries can be used to segment an SQL statement. This is useful 
          for an SQL statement that is very large and difficult to read. The statement 
          can be broken into logical segments and still achieve the same results.</li>
        <li>Nested queries can be used to govern query performance. Re-wording 
          a query to use nested queries can change the way a query is processed 
          and optimized.</li>
      </ul>
      <p>Omnidex may behave differently depending on the location of the nested 
        query. The following examples use the <a href="Explain%20Plan.htm">Explain 
        Plan</a> to show exactly how Omidex optimized each query.</p>
      <p class="line">&nbsp;</p>
      <h3>One Pass Optimization</h3>
      <p class="ex">SELECT * FROM orders <br>
        WHERE tax_state in (SELECT state FROM states <br>
        WHERE description='colorado')</p>
      <p> The orders table is linked to the states table by tax_state=state in 
        the Omnidex indexes. The inner query (SELECT state FROM states WHERE description='colorado'), 
        qualifies a list of states then uses that qualified list as criteria in 
        the outer query (SELECT * FROM orders WHERE state in...).</p>
      <p>This query is completed in a single pass because an MDK index is installed 
        on the description field of the states table, which is linked in the indexes 
        to the tax_state table. The underlying database is not touched until a 
        final qualified list of orders is complete.</p>
      <h5>Explain Plan</h5>
      <p>The SUMMARY section shows the SQL statement formatted to make it easier 
        to read.<br>
        Version information is displayed, showing exactly which version of Omnidex 
        is being used.<br>
        The optimization used for this query is shown. If the query could not 
        be optimized, this would say NONE.</p>
      <p class="ex">------------------------ SUMMARY --------------------------</p>
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr> 
          <td><p class="ex">Select<br>
              <img src="../../images/blank.gif" width="10" height="10">from<br>
              <img src="../../images/blank.gif" width="10" height="10">where </p></td>
          <td><p class="ex">* \<br>
              ORDERS \<br>
              TAX_STATE in \</p></td>
          <td><p class="ex">&nbsp;</p></td>
        </tr>
        <tr> 
          <td><p class="ex">&nbsp;</p></td>
          <td><p class="ex">(select<br>
              <img src="../../images/blank.gif" width="20" height="10">from<br>
              <img src="../../images/blank.gif" width="20" height="10">where </p></td>
          <td><p class="ex">STATE \<br>
              STATES \<br>
              DESCRIPTION = 'Colorado'</p></td>
        </tr>
        <tr> 
          <td><p class="ex">Version:<br>
              Optimization: </p></td>
          <td colspan="2"><p class="ex">4.0 Build 7C (Compiled Nov 11 2003 09:55:39)<br>
              MDKQUAL </p></td>
        </tr>
      </table>
      <p>The DETAILS section shows each step taken to process this query. Using 
        the indexes, states were &quot;qualified&quot; by the given criteria. 
        The qualified subset was then joined to the orders table using the tax_state 
        field.</p>
      <p>The database was not touched until all of the quallifications were complete, 
        completing this query using one-pass optimization.</p>
      <p>&quot;on 1&quot; indicates that this statement was processed on cursor 
        1. NOAUTORESET is a default option that instructs Omnidex to retain the 
        qualified list for possible further manipulation. </p>
      <p class="ex">------------------------ DETAILS --------------------------</p>
      <p class="ex">Qualify (STATES)STATES where DESCRIPTION = 'Colorado' on 1 
        with NOAUTORESET<br>
        Join STATES using STATE to (ORDERS)ORDERS using TAX_STATE on 1 with NOAUTORESET<br>
        Fetchkeys $ROWID 1000 at a time on 1<br>
        <img src="../../images/blank.gif" width="10" height="10">Retrieve ORDERS 
        using $ROWID = $ODXID<br>
        <img src="../../images/blank.gif" width="10" height="10">Return ORDERS.ACCT, 
        ORDERS.PRODUCT_NO, ORDERS.ORDERS_DATE, ORDERS.STATUS, \<br>
        <img src="../../images/blank.gif" width="30" height="10">ORDERS.TAX_STATE, 
        ORDERS.SOURCE, ORDERS.PMT_METHOD, ORDERS.DISCOUNT, \ <br>
        <img src="../../images/blank.gif" width="30" height="10">ORDERS.QUANTITY, 
        ORDERS.SALES_TAX, ORDERS.AMOUNT, ORDERS.TOTAL</p>
      <p class="line">&nbsp;</p>
      <h3>Deferred Optimization</h3>
      <p class="ex">SELECT acct, company FROM prospects<br>
        WHERE acct in (SELECT EVERY 10 DISTINCT acct FROM orders<br>
        WHERE quantity &gt; 1)</p>
      <p>The prospects table is linked in the Omnidex indexes to the orders table 
        by the common field acct. The inner query (SELECT EVERY 10 DISTINCT acct 
        FROM orders WHERE <br>
        quantity &gt; 1), qualifies every 10th distinct acct from the orders table 
        that has a quantity greater than 1. This qualified list is then used as 
        criteria in the outer query (SELECT acct, company FROM prospects WHERE 
        acct in...).</p>
      <h5>Explain Plan</h5>
      <p> In addition to the formatted SQL statement, version information, and 
        optimization used for this query, the SUMMARY section also displays &quot;Notes&quot; 
        which explains that one-pass optimization could not be achieved in this 
        statement because the inner query contained one of &quot;TOP&quot;, &quot;RANDOM&quot;, 
        or &quot;EVERY&quot;. </p>
      <p>These functions are processed after the data has been retrieved from 
        the database. Therefore, the inner query was processed as if &quot;EVERY&quot; 
        had not been a part of the statement, the qualified orders were retrieved, 
        EVERY was applied to the retrieve orders, and then the outer query was 
        processed using the results from the inner query.</p>
      <p class="ex">------------------------ SUMMARY --------------------------</p>
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr> 
          <td valign="top"> <p class="ex">Select</p></td>
          <td valign="top"> <p class="ex">ACCT, \<br>
              COMPANY \</p></td>
          <td><p class="ex">&nbsp;</p></td>
        </tr>
        <tr> 
          <td valign="top"> <p class="ex"><img src="../../images/blank.gif" width="10" height="10">from<br>
              <img src="../../images/blank.gif" width="10" height="10">where </p></td>
          <td valign="top"> <p class="ex">PROSPECTS \<br>
              ACCT in \</p></td>
          <td><p class="ex">&nbsp;</p></td>
        </tr>
        <tr> 
          <td valign="top"> <p class="ex">&nbsp;</p></td>
          <td valign="top"> <p class="ex">(select<br>
              <img src="../../images/blank.gif" width="20" height="10">from<br>
              <img src="../../images/blank.gif" width="20" height="10">where </p></td>
          <td valign="top"> <p class="ex">every 10 distinct ACCT \<br>
              ORDERS \<br>
              QUANTITY &gt; 1)</p></td>
        </tr>
        <tr> 
          <td valign="top"> <p class="ex">Version:<br>
              Optimization: </p></td>
          <td colspan="2" valign="top"> <p class="ex">4.0 Build 7C (Compiled Nov 
              11 2003 09:55:39)<br>
              MDKQUAL, AGGREGATION</p></td>
        </tr>
        <tr> 
          <td valign="top"> <p class="ex">Notes:</p></td>
          <td colspan="2" valign="top"> <p class="ex">Nested filter on column 
              ACCT will not be optimized using <br>
              <img src="../../images/blank.gif" width="10" height="10">1-pass 
              optimization because the nested query contains<br>
              <img src="../../images/blank.gif" width="10" height="10">TOP, RANDOM, 
              or EVERY.</p></td>
        </tr>
      </table>
      <p>The first part of the DETAILS section processes the inner query. Orders 
        are qualified where QUANTITY &gt; 1, then using an aggregation index</p>
      <p>{SQ1} is a variable representing the results of the inner query. &quot;on 
        2&quot; indicates that this statement was processed on cursor 2. NOAUTORESET 
        is a default option that instructs Omnidex to retain the qualified list 
        for possible further manipulation. </p>
      <p class="ex"> ------------------------ DETAILS --------------------------</p>
      <p class="ex">Processing subquery 1 into {SQ1}<br>
        Qualify (ORDERS)ORDERS where QUANTITY &gt; 1 on 2 with NOAUTORESET<br>
        Aggregate ORDERS using ACCT for GROUP(ACCT) on 2<br>
        Returning subquery 1 into {SQ1}</p>
      <p class="ex"><img src="../../images/blank.gif" width="10" height="10">Retrieve 
        ORDERS using $ROWID = $ODXID<br>
        <img src="../../images/blank.gif" width="10" height="10">Return ORDERS.ACCT, 
        ORDERS.PRODUCT_NO, ORDERS.ORDERS_DATE, ORDERS.STATUS, \<br>
        <img src="../../images/blank.gif" width="30" height="10">ORDERS.TAX_STATE, 
        ORDERS.SOURCE, ORDERS.PMT_METHOD, ORDERS.DISCOUNT, \ <br>
        <img src="../../images/blank.gif" width="30" height="10">ORDERS.QUANTITY, 
        ORDERS.SALES_TAX, ORDERS.AMOUNT, ORDERS.TOTAL</p>
      <p class="line">&nbsp;</p>
      <h3>&nbsp;</h3>
      <p>&nbsp;</p>
      <p class="line">&nbsp;</p>
      <h3>&nbsp;</h3>
      <p>&nbsp;</p>
      <!-- InstanceEndEditable --><P align="right"><a href="#">Top</a> </P>
	  </td>
  </tr>
  <tr>
    <td width="175" class="bbar">
<p>&nbsp;</p></td>
    <td align="right" valign="middle" class="bbar"> <p class="banner">Omnidex 
        Version 4.1 Build 1 - E10.04 - Dynamic Information Systems Corporation 
        - Copyright &copy; 2004</p></td>
  </tr>
</table>
<div class="menu0" id="m1" onMouseOver="changeClass('menu1','m1'); changeVisibility('visible','s1');" onMouseOut="changeClass('menu0','m1'); changeVisibility('hidden','s1');"> 
  <a href="../../index.htm">Home</a></div>      
<div class="menu0" id="m2" onMouseOver="changeClass('menu1','m2'); changeVisibility('visible','s2');" onMouseOut="changeClass('menu0','m2'); changeVisibility('hidden','s2');"> 
  <a href="../../Omnidex%20Concepts/Omnidex%20Overview.htm">Omnidex</a></div>      
<div class="menu0" id="m3" onMouseOver="changeClass('menu1','m3'); changeVisibility('visible','s3');" onMouseOut="changeClass('menu0','m3'); changeVisibility('hidden','s3');"> 
  <a href="../../Getting%20Started/Getting%20Started.htm">Getting Started </a></div>      
<div class="menu0" id="m4" onMouseOver="changeClass('menu1','m4'); changeVisibility('visible','s4');" onMouseOut="changeClass('menu0','m4'); changeVisibility('hidden','s4');"> 
  <a href="../../Development/Development.htm">Development</a></div>      
<div class="menu0" id="m5" onMouseOver="changeClass('menu1','m5'); changeVisibility('visible','s5');" onMouseOut="changeClass('menu0','m5'); changeVisibility('hidden','s5');"> 
  <a href="../../Utilities/Utilities.htm">Utilities</a></div>      
<div class="menu0" id="m6" onMouseOver="changeClass('menu1','m6'); changeVisibility('visible','s6');" onMouseOut="changeClass('menu0','m6'); changeVisibility('hidden','s6');"> 
  <a href="../../Appendix/Appendix.htm">Appendix</a></div>
    <td>&nbsp;</td>
  </tr>
</table> 
<table id="s1" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m1'); changeVisibility('visible','s1');" onMouseOut="changeClass('menu0','m1'); changeVisibility('hidden','s1');">
  <tr> 
    <td id="s11" class="menu1" onMouseOver="changeClass('menu0','s11');" onMouseOut="changeClass('menu1','s11');"><a href="../../Whats%20New.htm">What's 
      New!</a></td>
  </tr>
  <tr> 
    <td id="s12" class="menu1" onMouseOver="changeClass('menu0','s12');" onMouseOut="changeClass('menu1','s12');"><a href="../../Quick%20Links.htm">Quick 
      Links</a></td>
  </tr>
  <tr> 
    <td id="s13" class="menu1" onMouseOver="changeClass('menu0','s13');" onMouseOut="changeClass('menu1','s13');"><a href="../../Contents.htm">Contents</a></td>
  </tr>
</table>
<table id="s2" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m2'); changeVisibility('visible','s2');" onMouseOut="changeClass('menu0','m2'); changeVisibility('hidden','s2');">
  <tr> 
    <td id="s21" class="menu1" onMouseOver="changeClass('menu0','s21');" onMouseOut="changeClass('menu1','s21');"><a href="../../Omnidex%20Concepts/Features/Features.htm">Features</a></td>
  </tr>
  <tr> 
    <td id="s22" class="menu1" onMouseOver="changeClass('menu0','s22');" onMouseOut="changeClass('menu1','s22');"><a href="../../Omnidex%20Concepts/Indexing%20Strategies/Indexing%20Strategies.htm">Indexing 
      Strategies</a></td>
  </tr>
  <tr> 
    <td id="s23" class="menu1" onMouseOver="changeClass('menu0','s23');" onMouseOut="changeClass('menu1','s23');"><a href="../../Omnidex%20Concepts/Indexing%20Options/Indexing%20Options.htm">Indexing 
      Options </a></td>
  </tr>
  <tr> 
    <td id="s24" class="menu1" onMouseOver="changeClass('menu0','s24');" onMouseOut="changeClass('menu1','s24');"><a href="../../Omnidex%20Concepts/Index%20Maintenance/Index%20Maintenance.htm">Index 
      Maintenance </a></td>
  </tr>
  <tr> 
    <td id="s25" class="menu1" onMouseOver="changeClass('menu0','s25');" onMouseOut="changeClass('menu1','s25');"><a href="../../Omnidex%20Concepts/Partitioning/Partitioning.htm">Optimization</a></td>
  </tr>
  <tr> 
    <td id="s26" class="menu1" onMouseOver="changeClass('menu0','s26');" onMouseOut="changeClass('menu1','s26');"><a href="../../Omnidex%20Concepts/Index%20Maintenance/Index%20Maintenance.htm">Partitioning</a></td>
  </tr>
  <tr> 
    <td id="s27" class="menu1" onMouseOver="changeClass('menu0','s27');" onMouseOut="changeClass('menu1','s27');"><a href="../../Omnidex%20Concepts/Text/Omnidex%20Text.htm">Omnidex Text</a></td>
  </tr>
</table>
<table id="s3" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m3'); changeVisibility('visible','s3');" onMouseOut="changeClass('menu0','m3'); changeVisibility('hidden','s3');">
  <tr> 
    <td id="s31" class="menu1" onMouseOver="changeClass('menu0','s31');" onMouseOut="changeClass('menu1','s31');"><a href="../../Getting%20Started/1%20-%20Installation%20and%20Setup.htm">Server 
      Setup Guides</a></td>
  </tr>
  <tr> 
    <td id="s32" class="menu1" onMouseOver="changeClass('menu0','s32');" onMouseOut="changeClass('menu1','s32');"><a href="../../Getting%20Started/Omnidex%20Client/Windows%20Client.htm">Windows 
      Client</a></td>
  </tr>
  <tr> 
    <td id="s33" class="menu1" onMouseOver="changeClass('menu0','s33');" onMouseOut="changeClass('menu1','s33');"><a href="../../Database%20Platforms/Supported%20Database%20Platforms.htm">Database 
      Platforms </a></td>
  </tr>
  <tr> 
    <td id="s34" class="menu1" onMouseOver="changeClass('menu0','s34');" onMouseOut="changeClass('menu1','s34');"><a href="../../Environment%20Catalog/Environment%20Catalog.htm">Environment 
      Catalog</a> </td>
  </tr>
</table>
<table id="s4" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m4'); changeVisibility('visible','s4');" onMouseOut="changeClass('menu0','m4'); changeVisibility('hidden','s4');">
  <tr> 
    <td id="s41" class="menu1" onMouseOver="changeClass('menu0','s41');" onMouseOut="changeClass('menu1','s41');"><a href="../../SQL%20Reference/SQL%20Reference.htm">SQL 
      Reference</a> </td>
  </tr>
  <tr> 
    <td id="s42" class="menu1" onMouseOver="changeClass('menu0','s42');" onMouseOut="changeClass('menu1','s42');"><a href="../../Development/ODBC/ODBC.htm">ODBC</a></td>
  </tr>
  <tr> 
    <td id="s43" class="menu1" onMouseOver="changeClass('menu0','s43');" onMouseOut="changeClass('menu1','s43');"><a href="../../Development/JDBC/JDBC.htm">JDBC</a></td>
  </tr>
  <tr> 
    <td id="s44" class="menu1" onMouseOver="changeClass('menu0','s44');" onMouseOut="changeClass('menu1','s44');"><a href="../../Development/OmniAccess%20API/OmniAccess%20API.htm">OmniAccess 
      API</a></td>
  </tr>
  <tr> 
    <td id="s45" class="menu1" onMouseOver="changeClass('menu0','s45');" onMouseOut="changeClass('menu1','s45');"><a href="../../Development/Debugging/OMNIDEX_DEBUG.htm">Debugging</a></td>
  </tr>
</table>
<table id="s5" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m5'); changeVisibility('visible','s5');" onMouseOut="changeClass('menu0','m5'); changeVisibility('hidden','s5');">
  <tr> 
    <td id="s51" class="menu1" onMouseOver="changeClass('menu0','s51');" onMouseOut="changeClass('menu1','s51');"><A href="../../Utilities/DBINSTAL/DBINSTAL.htm">DBINSTAL</A></td>
  </tr>
  <tr> 
    <td id="s52" class="menu1" onMouseOver="changeClass('menu0','s52');" onMouseOut="changeClass('menu1','s52');"><a href="../../Utilities/DSEDIT/DSEDIT.htm">DSEDIT</a></td>
  </tr>
  <tr> 
    <td id="s53" class="menu1" onMouseOver="changeClass('menu0','s53');" onMouseOut="changeClass('menu1','s53');"><a href="../../Utilities/NSADMIN/NSADMIN.htm">NSADMIN</a></td>
  </tr>
  <tr> 
    <td id="s54" class="menu1" onMouseOver="changeClass('menu0','s54');" onMouseOut="changeClass('menu1','s54');"><a href="../../Utilities/OACOMP/OACOMP.htm">OACOMP</a></td>
  </tr>
  <tr> 
    <td id="s55" class="menu1" onMouseOver="changeClass('menu0','s55');" onMouseOut="changeClass('menu1','s55');"><a href="../../Utilities/OADECOMP/OADECOMP.htm">OADECOMP</a></td>
  </tr>
  <tr> 
    <td id="s56" class="menu1" onMouseOver="changeClass('menu0','s56');" onMouseOut="changeClass('menu1','s56');"><a href="../../Utilities/OAHELPER/OAHELPER.htm">OAHELPER</a></td>
  </tr>
  <tr> 
    <td id="s57" class="menu1" onMouseOver="changeClass('menu0','s57');" onMouseOut="changeClass('menu1','s57');"><A href="../../Utilities/ODXAIM/ODXAIM.htm">ODXAIM</A></td>
  </tr>
  <tr> 
    <td id="s58" class="menu1" onMouseOver="changeClass('menu0','s58');" onMouseOut="changeClass('menu1','s58');"><a href="../../Utilities/ODXMAKE/ODXMAKE.htm">ODXMAKE</a></td>
  </tr>
  <tr> 
    <td id="s59" class="menu1" onMouseOver="changeClass('menu0','s59');" onMouseOut="changeClass('menu1','s59');"><a href="../../Utilities/ODXNET/ODXNET.htm">ODXNET</a></td>
  </tr>
  <tr> 
    <td id="s510" class="menu1" onMouseOver="changeClass('menu0','s510');" onMouseOut="changeClass('menu1','s510');"><A href="../../Utilities/ODXQUERY/ODXQUERY.htm">ODXQUERY</A></td>
  </tr>
  <tr> 
    <td id="s511" class="menu1" onMouseOver="changeClass('menu0','s511');" onMouseOut="changeClass('menu1','s511');"><a href="../../Utilities/ODXSQL/ODXSQL.htm">ODXSQL</a></td>
  </tr>
  <tr> 
    <td id="s512" class="menu1" onMouseOver="changeClass('menu0','s512');" onMouseOut="changeClass('menu1','s512');"><a href="../../Utilities/REGMAINT/REGMAINT.htm">REGMAINT</a></td>
  </tr>
  <tr> 
    <td id="s513" class="menu1" onMouseOver="changeClass('menu0','s513');" onMouseOut="changeClass('menu1','s513');"><A href="../../Utilities/REGTEST/REGTEST.htm">REGTEST</A></td>
  </tr>
  <tr> 
    <td id="s514" class="menu1" onMouseOver="changeClass('menu0','s514');" onMouseOut="changeClass('menu1','s514');"><a href="../../Utilities/SNOWGEN/SNOWGEN.htm">SNOWGEN</a></td>
  </tr>
  <tr> 
    <td id="s515" class="menu1" onMouseOver="changeClass('menu0','s515');" onMouseOut="changeClass('menu1','s515');"><a href="../../Utilities/SYSINFO/SYSINFO.htm">SYSINFO</a></td>
  </tr>
  <tr> 
    <td id="s516" class="menu1" onMouseOver="changeClass('menu0','s516');" onMouseOut="changeClass('menu1','s516');"><a href="../../Utilities/VERSIONS/VERSIONS.htm">VERSIONS</a></td>
  </tr>
  <tr> 
    <td id="s517" class="menu1" onMouseOver="changeClass('menu0','s517');" onMouseOut="changeClass('menu1','s517');"><a href="../../Utilities/VIEWGEN/VIEWGEN.htm">VIEWGEN</a></td>
  </tr>
</table>
<table id="s6" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m6'); changeVisibility('visible','s6');" onMouseOut="changeClass('menu0','m6'); changeVisibility('hidden','s6');">
  <tr> 
    <td id="s61" class="menu1" onMouseOver="changeClass('menu0','s61');" onMouseOut="changeClass('menu1','s61');"><a href="../../Appendix/Cardinality.htm">Cardinality</a></td>
  </tr>
  <tr> 
    <td id="s62" class="menu1" onMouseOver="changeClass('menu0','s62');" onMouseOut="changeClass('menu1','s62');"><a href="../../Appendix/Date%20Formats.htm">Date 
      Formats </a></td>
  </tr>
  <tr> 
    <td id="s63" class="menu1" onMouseOver="changeClass('menu0','s63');" onMouseOut="changeClass('menu1','s63');"><a href="../../Appendix/Environment%20Variables.htm">Environment 
      Variables </a></td>
  </tr>
  <tr> 
    <td id="s64" class="menu1" onMouseOver="changeClass('menu0','s64');" onMouseOut="changeClass('menu1','s64');"><a href="../../Appendix/File%20Name%20Handling.htm">File 
      Name Handling</a></td>
  </tr>
  <tr> 
    <td id="s65" class="menu1" onMouseOver="changeClass('menu0','s65');" onMouseOut="changeClass('menu1','s65');"><a href="../../Appendix/Glossary%20A.htm">Glossary</a></td>
  </tr>
  <tr> 
    <td id="s66" class="menu1" onMouseOver="changeClass('menu0','s66');" onMouseOut="changeClass('menu1','s66');"><a href="../../Appendix/Null.htm">Null</a></td>
  </tr>
  <tr> 
    <td id="s67" class="menu1" onMouseOver="changeClass('menu0','s67');" onMouseOut="changeClass('menu1','s67');"><a href="../../Appendix/OAGLOBAL.htm">OAGLOBAL</a></td>
  </tr>
  <tr> 
    <td id="s68" class="menu1" onMouseOver="changeClass('menu0','s68');" onMouseOut="changeClass('menu1','s68');"><a href="../../Appendix/Operating%20Limits.htm">Operating 
      Limits</a></td>
  </tr>
  <tr> 
    <td id="s69" class="menu1" onMouseOver="changeClass('menu0','s69');" onMouseOut="changeClass('menu1','s69');"><a href="../../Appendix/Provided%20Managed%20Synonym%20Lists.htm">Managed 
      Synonym Lists</a></td>
  </tr>
  <tr> 
    <td id="s70" class="menu1" onMouseOver="changeClass('menu0','s70');" onMouseOut="changeClass('menu1','s70');"><a href="../../Appendix/Reserved%20Words.htm">Reserved 
      Words</a></td>
  </tr>
  <tr> 
    <td id="s71" class="menu1" onMouseOver="changeClass('menu0','s71');" onMouseOut="changeClass('menu1','s71');"><a href="../../Appendix/Supported%20Datatypes.htm">Supported 
      Data Types</a></td>
  </tr>
</table>
<p>&nbsp;</p>
</body>
<!-- InstanceEnd --></html>
