<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><!-- InstanceBegin template="../../Templates/DocTemp.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<!-- InstanceBeginEditable name="doctitle" -->
<title>DBINSTAL - Indexing Options</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>DBINSTAL</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><a href="#db">Database-level</a></p>
      <p><a href="#table">Table-level</a></p>
      <p><a href="#index">Index-level</a></p>
      <p class="line">&nbsp;</p>
      <p><a href="DBINSTAL.htm">DBINSTAL</a></p>
      <p><a href="Commands.htm">Commands</a></p>
      <p>Indexing Options</p>
      <p><a href="Program%20Operation.htm">Program Operation</a></p>
      <!-- InstanceEndEditable --></td>
    <td valign="top" class="content"> <!-- InstanceBeginEditable name="Content" --> 
      <h2>Indexing Options</h2>
      <p>Omnidex indexing options can be divided into 3 main groups:</p>
      <ul>
        <li><a href="#db">Database-level indexing options</a> apply to the entire 
          index installation. </li>
        <li><a href="#table">Table-level indexing options</a> apply to a specific 
          table. These options over-ride the database-level options.</li>
        <li><a href="#index">Index-level indexing options</a> apply to a specific 
          column. These options over-ride table-level and database-level options.</li>
      </ul>
      <p class="line">&nbsp;</p>
      <h3><a name="db"></a>Database-Level Indexing Options</h3>
      <p>Indexes installed at the database-level will apply to all indexes installed 
        on this database.</p>
      <p class="indent">T - TRANSLATE - Use a custom Translation Table for translating 
        8-bit extended ASCII characters. The translation table will be applied 
        to all Omnidex indexes that are NOT installed with the ;NT (No Translate) 
        option. To disable translation of 8-bit characters for any column, install 
        the column with the ;NT - No Translate option. The translation table will 
        be applied to all columns except those installed with the ;NT (No Translate) 
        option. <a href="../../Omnidex%20Concepts/Indexing%20Options/Translation%20Table.htm">More 
        Info <img src="../../images/arrow.gif" width="10" height="10" border="0"></a></p>
      <p class="indent">X - XCLUDE - to prevent words contained in an Excluded 
        Words List from being indexed. The excluded words list will be applied 
        to all Omnidex indexes that are NOT installed with the ;NE (No Exclude) 
        option. To disable the excluded words list for any index, install the 
        index with the ;NE - No Exclude option. The excluded words list will be 
        applied to all indexes except those installed with the No Exclude option. 
        <a href="../../Omnidex%20Concepts/Indexing%20Options/Excluded%20Words.htm">More 
        Info <img src="../../images/arrow.gif" width="10" height="10" border="0"></a> 
      </p>
      <p><img src="../../images/note.gif" width="12" height="15">Effective in 
        version 4.0, No Translate and No Exclude are the default MDK indexing 
        options.</p>
      <p class="line">&nbsp;</p>
      <h3><a name="table"></a>Table-Level Indexing Options</h3>
      <p>As of Omnidex version 4, there is no need for any table-level indexing 
        options. By default, all tables are installed with ;TRR (see below). The 
        ;TRR option is still supported for backward compatibility but is not necessary.</p>
      <p class="indent">TRR - Transparency with Rowid - The ;TRR option creates 
        a 32-bit, well-behaved ODXID for each row in the table, and a cross-reference 
        file to link these ODXIDs with the data.</p>
      <p>&nbsp;</p>
      <p class="line">&nbsp;</p>
      <h3><a name="index"></a>Index-Level Indexing Options</h3>
      <p><a href="#bi">BI</a> | <a href="#bm">BM</a> | <a href="#ci">CI</a> | 
        <a href="#di">DI</a> | <a href="#ex">EX</a> | <a href="#gn">Gn</a> | <a href="#kw">KW</a> 
        | <a href="#ne">NE</a> | <a href="#np">NP</a> | <a href="#nt">NT</a> | 
        <a href="#rc">RC</a> | <a href="#sx">SX</a> | <a href="#type">Type=t</a> 
        | <a href="#uk">UK</a></p>
      <p>&nbsp;</p>
      <h4><a name="bi"></a>;BI - Batch Indexing</h4>
      <p>The Batch Indexing (;BI) option disables the real-time updating of indexes 
        as rows are added, deleted or updated. Batch Indexed indexes are updated 
        only during a B or an INDEX operation.</p>
      <p>The Batch Indexing option eliminates the overhead associated with updating 
        indexes in real time when adding, deleting, or updating rows. For example, 
        if data is entered during business hours, when online response is critical, 
        it might be beneficial to install Batch Indexing on indexes that need 
        not reflect the most current data, like a YTD (year to date) index in 
        an ACCOUNTING table. Then a batch process could be run at night or on 
        a weekend, when online response time is less critical, to update Batch 
        Indexed indexes.</p>
      <p>Although there are other ways to prevent real-time indexing, the Batch 
        Indexing option gives the added benefit of affecting only selected indexes.</p>
      <p><img src="../../images/note.gif" width="12" height="15">Install Batch 
        Indexing only on indexes that need not reflect the most current data.</p>
      <p class="line2">&nbsp;</p>
      <h4><a name="bm"></a>;BM - Bitmap Indexing</h4>
      <p>Bitmap indexing stores the Omnidex MDK index as a bitmap. Used on low 
        cardinality data of less than 30 unique values with well behaved Omnidex 
        IDs. Ideal for Data Warehouse applications that do not need real time 
        indexing.</p>
      <p>A bitmap index will be created for each unique value in the column installed 
        with the ;BM option, and each bitmap index will contain a bit for each 
        row in the table. Therefore, the table must have a well-behaved rowid 
        to efficiently utilize bitmap indexing.</p>
      <ul>
        <li>Using the ;BM option will automatically invoke the DI, BI. </li>
        <li>Used only for MDK indexing. </li>
        <li>Most beneficial on tables with more than 100,000 rows </li>
      </ul>
      <p>Because the Omnidex IDs must be a 32-bit integer, bitmap indexing can 
        only be used on parent tables and DR child tables. A prejoined child table 
        has a 64-bit integer ID and therefore cannot use bitmap indexing.</p>
      <p class="line2">&nbsp;</p>
      <h4><a name="ci"></a>;CI - Case Insensitivity</h4>
      <p>The CI option causes text searches on the column to be case insensitive. 
        This is most useful for non-parsed MDK fields like a two-digit state field 
        and ASK indexed fields for sorting. </p>
      <p>It is not necessary to install ;CI on an MDK indexed field installed 
        with ;KW because case insensitivity is inherent with keyword indexed fields.</p>
      <p class="line2">&nbsp;</p>
      <h4><a name="di"></a>;DI - Distributed Indexes</h4>
      <p>Distributed Indexing causes each MDK index to be stored in a separate 
        physical file instead of a single physical file.</p>
      <ul>
        <li>DI indexing implies the ;NP option and no grouping; that is, ;DI cannot 
          be used in conjunction with ;Gn. </li>
        <li>Distributed Indexes can be up to 255 bytes where normally a non-parsed 
          MDK Index can be only 32 bytes long. </li>
        <li>DI keys work in parents and DR children, but not in RS children. </li>
        <li>Distributed Indexing applies to only MDK Indexing. </li>
        <li>Most useful on very large databases where the Omnidex indexes hit 
          an operating system limit. </li>
      </ul>
      <p>Use the Distributed indexing (;DI) option for the ability to exceed the 
        2 (or 4) Gbyte file size limit on operating systems with this file size 
        limitation.</p>
      <p>Use the Distributed indexing (;DI) option to utilize the efficiencies 
        of multiple CPUs to reduce indexing time.</p>
      <p>When indexing Distributed Indexes (;DI), use the Build @@[n] or @[n] 
        option where n ranges from 1 to 16 and represents the number of Distributed 
        Indexes to process per pass through the data. For example, if eight Distributed 
        Indexes are specified and the @@ option is used (where n is not specified), 
        then the index Build process would require eight passes through the internal 
        extract file used for indexing. If the Build option is specified as @@n 
        (where n is 4), then only two passes through the extract file are needed.</p>
      <p class="line2">&nbsp;</p>
      <h4><a name="ex"></a>;EX - External Document Indexing</h4>
      <p>External Document Indexing is used to parse and index the contents of 
        text-based documents that are external to a database. HTML files, ASCII 
        files, Word documents, Excel Spreadsheets, and many other types of documents 
        can be indexed and easily retrieved using Omnidex keyword retrievals.</p>
      <p class="line2">&nbsp;</p>
      <h4><a name="gn"></a>;Gn - Grouping</h4>
      <p>Grouping is a very powerful feature that lets you combine several MDK 
        indexes into one logical index. This saves programming effort by requiring 
        only one call to oaqualify to search the entire group of indexes. For 
        example, if you grouped the keyed columns COMPANY, CONTACT and TITLE together, 
        you could search all three of these indexes by referencing any one of 
        them in an oaqualify procedure call.</p>
      <p>To group different fields together, append ;Gn(where nrepresents a group 
        number you assigned) to their names when specifying them at a Keyword 
        field: prompt. For example, to group the COMPANY, CONTACT and TITLE fields 
        from the CUSTOMERS parent table together into a group numbered &#8220;3&#8221;, 
        you would enter:</p>
      <p class="ex">Column name: COMPANY;G3<br>
        Column name: CONTACT;G3<br>
        Column name: TITLE;G3</p>
      <p>You can group indexes across tables in the same domain. For example, 
        if the CUST_NOTES child table belonged to the CUSTOMERS domain, you could 
        group CUST_NOTES MDK index ENTERED_BY with CUSTOMERS MDK indexes COMPANY, 
        CONTACT and TITLE:</p>
      <p class="ex">Table will be linked in the domain of CUSTOMERS<br>
        .<br>
        .<br>
        Column name: ENTERED_BY;G3</p>
      <p>A row will qualify if the search criteria is found in any of the columns 
        in the group.</p>
      <p>When grouping indexes together, the following restrictions apply:</p>
      <ul>
        <li>Any given index can only belong to one group. </li>
        <li>You can have up to 200 groups per environment catalog. </li>
        <li>You cannot group a column that you might reference as the to_column 
          in an oajoin operation. </li>
        <li>You cannot group binary and ASCII (CHARACTER) columns together. </li>
        <li>Grouped indexes should share similar indexing options. For example, 
          group No Parse indexes only with other No Parse indexes. </li>
        <li>You should not group columns that contain similar data. For example, 
          grouping an ORDER_DATE column and a SHIP_DATE column may produce confusing 
          results when the index is searched.</li>
      </ul>
      <p class="line2">&nbsp;</p>
      <h4><a name="kw"></a>;KW - Keywording</h4>
      <p>Keyword indexing parses a text field, allowing keyword searches. This 
        option applies to MDK indexes only. </p>
      <p>By default, ;KW fields are </p>
      <p>parsed, meaning each individual word is stored separately in the indexes 
        and punctuation and white space are stripped out. <br>
        case insensitive and are translated if a translation table is specified 
        <br>
        if an excluded words list is provided, &quot;noise&quot; or &quot;stop&quot; 
        words are stripped out. </p>
      <p>Example:</p>
      <p class="ex">ID Company Name<br>
        -----------------------------------------------------</p>
      <p class="ex">21 Dynamic Information Systems Corporation</p>
      <p>When installed with the ;KW option, the following is stored in the indexes 
        for this record:</p>
      <p class="ex">21 CORPORATION<br>
        21 DYNAMIC<br>
        21 INFORMATION<br>
        21 SYSTEMS</p>
      <p>This record can then be retrieved by including any of the 4 keywords 
        as criteria.</p>
      <p class="line2">&nbsp;</p>
      <h4><a name="ne"></a>;NE - No Exclude</h4>
      <p> <a href="../../Omnidex%20Concepts/Indexing%20Options/Excluded%20Words.htm">More 
        Info <img src="../../images/arrow.gif" width="10" height="10" border="0"></a></p>
      <p>This option is the default as of Omnidex version 4.0 but is supported 
        for backward compatibility. It causes DBINSTAL to ignore the excluded 
        word list for this index. It also causes zeros to be indexed for binary 
        MDK Indexes and blanks and nulls to be indexed for ASK Indexes.</p>
      <p>The NE option applies to MDK and ASK Indexes.</p>
      <ul>
        <li>When installed on ASCII MDK indexes, the No Exclude option (;NE) disables 
          the excluded word list, and causes the indexing of every word in a keyed 
          field (except for blanks, zeros or null entries). </li>
        <li>Normally, excluded words are not indexed, but the No Exclude option 
          causes them to be indexed for any index on which it is installed. For 
          example, an indexed STATE column that could contain &#8220;OR&#8221; 
          and &#8220;ME&#8221;, the state abbreviations for Oregon and Maine, 
          would benefit from the NE option if the excluded word list contained 
          the words &#8220;OR&#8221; and &#8220;ME&#8221;. </li>
        <li>To index blanks, zeros and nulls for an ASCII MDK index, combine the 
          No Exclude option with the No Parse option. </li>
        <li>When installed on binary MDK indexes, the No Exclude option causes 
          all values to be indexed, including binary zeros. By default, binary 
          zero values in numeric columns are excluded. </li>
        <li>When installed on ASK indexes, the No Exclude option causes the indexing 
          of blanks, zeros and nulls. ASK indexes do not use the excluded word 
          list.</li>
      </ul>
      <p class="line2">&nbsp;</p>
      <h4><a name="np"></a>;NP - No Parse</h4>
      <p>This option is the default as of Omnidex version 4.0 but is supported 
        for backward compatibility. It causes DBINSTAL to store data contained 
        in a column as one entire keyword, including special characters (! ? * 
        : ; { } [ ] . ,) and blanks. This means that data in the column is not 
        parsed into separate keywords. When using No Parse on a keyword column, 
        the first 32 bytes of the corresponding field are indexed as one keyword, 
        including embedded blanks, special characters, and control characters.</p>
      <p>No Parse is useful for columns holding nine-digit zip codes containing 
        hyphens (for example, &#8220;80033-4030&#8221;) or phone numbers containing 
        hyphens or parentheses (for example, &#8220;(303) 444-4000&#8221;).</p>
      <p>When searching columns that use the NP option, enclose in quotation marks 
        argument strings that contain special characters or blanks. For example, 
        the search string:</p>
      <p class="ex">&quot; ABC&quot;*</p>
      <p>qualifies rows with keywords that start with a blank followed by &#8220;ABC&#8221;.</p>
      <p>The search string</p>
      <p class="ex">&quot; BC&quot;:&quot; DA&quot;</p>
      <p>qualifies rows with keywords between those starting with one blank and 
        the letters &#8220;BC&#8221; through those starting with a blank and the 
        letters &#8220;DA&#8221;.</p>
      <p>The wildcard or pattern-matching character occurs outside the quotes. 
        If you place them within the quotes, they are included in the keyword 
        search.</p>
      <p>When an ASCII column is used in oajoin operations as the to_column, install 
        the No Parse option on it. This prevents the column from being parsed, 
        and ensures the correct correspondence between rows in the joined tables.</p>
      <p class="line2">&nbsp;</p>
      <h4><a name="nt"></a>;NT - No Translate</h4>
      <p><a href="../../Omnidex%20Concepts/Indexing%20Options/Translation%20Table.htm">More 
        Info <img src="../../images/arrow.gif" width="10" height="10" border="0"></a></p>
      <p>This option is the default as of Omnidex version 4.0 but is supported 
        for backward compatibility. For both MDK and ASK indexes, the No Translate 
        (;NT) option disables:</p>
      <ul>
        <li>translation of 8-bit extended ASCII characters to their 7-bit equivalents. 
        </li>
        <li>custom translations established through a translation table. </li>
        <li>upshifting of all lower case characters to uppercase </li>
      </ul>
      <p>In a column with the ;NT option, &#8220;George Pe&ntilde;a&#8221;, for 
        example, would be indexed as &#8220;George&#8221; and &#8220;Pe&ntilde;a&#8221;, 
        not as &#8220;GEORGE&#8221; and &#8220;PENA&#8221;. Consequently, when 
        you search for &#8220;Pe&ntilde;a&#8221; on such a column, you must enter 
        Pe&ntilde;a; pena, PENA, pe&ntilde;a, and PE&Ntilde;A will not locate 
        the row.</p>
      <p>Use No Translate if you want to store keyword values for a particular 
        field in case sensitive form, or if you want to prevent Omnidex from translating 
        8-bit extended character sets.</p>
      <p>If you group ASK indexes installed with the No Translate option, group 
        them with other No Translate indexes.</p>
      <p class="line2">&nbsp;</p>
      <h4><a name="rc"></a>;RC - Record Complex</h4>
      <p>The Record Complex option can only be installed on child tables. When 
        installed on an MDK index in a child table, it stores that index&#8217;s 
        values as though they belong to the parent table.</p>
      <p>By default, you can use MDK indexes installed on a child table to find 
        and ultimately retrieve rows from either the child or its parent. When 
        you install the Record Complex option, you restrict the use of child indexes 
        to the qualification of parent rows. However, Record Complex indexes require 
        less overhead to maintain. Therefore you might install the Record Complex 
        option on any MDK indexes in a child that you would only use to find records 
        in its parent.</p>
      <p>For example, if you only use the STATUS column of an ORDERS child table 
        to see which CUSTOMERS are waiting for back-ordered merchandise, you would 
        install the Record Complex option on the STATUS index.</p>
      <p><img src="../../images/note.gif" width="12" height="15">Applies to MDK 
        Indexes only.</p>
      <p class="line2">&nbsp;</p>
      <h4><a name="sx"></a>;SX - Soundex</h4>
      <p>The Soundex option, when installed on an MDK index, lets you find rows 
        by using phonetic arguments. This feature is useful for MDK index columns 
        containing data that may be difficult to spell (for example, Galeziowski) 
        or that can be spelled several ways (for example, Allen). Installing Soundex 
        on these types of column could make names easier to find.</p>
      <p>To search using a phonetic argument, spell the argument the way it sounds 
        and end it with an exclamation point ( ! ). For example, to find all records 
        with the keywords &quot;ALLEN&quot;, &quot;ALAN&quot; OR &quot;ALAINE&quot; 
        indexed for a given key, search that key using the argument ALAN!.</p>
      <p>The restrictions for Soundex are:</p>
      <ul>
        <li>You can install Soundex only on parsed character columns. This means 
          that you cannot install Soundex and No Parse on the same column. </li>
        <li>Soundex indexes can require twice the disk space of a non-Soundex 
          index because a keyword is indexed in both its actual and Soundex spelling. 
          Install Soundex only where you need it. </li>
        <li>Soundex indexes should be grouped with other Soundex indexes. Grouping 
          Soundex indexes with non-Soundex indexes can interfere with Soundex 
          searches or yield inaccurate results.</li>
      </ul>
      <p>&nbsp;</p>
      <p class="line2">&nbsp;</p>
      <h4><a name="type"></a>;Type=t - Typecasting</h4>
      <p>Typecasting informs Omnidex when data is stored in a format that does 
        not match the data type declared in the Omnidex environment catalog for 
        a keyed column. To typecast a keyed column, composite index, or composite 
        index component, append ;TYPE= t to its name, where t equals one of the 
        following values:</p>
      <p class="ex">D - D float values (OpenVMS only) <br>
        E - IEEE floating point values <br>
        F - F float values (OpenVMS only) <br>
        G - G float values (OpenVMS only) <br>
        I - Signed binary integer values on 2-byte boundaries <br>
        J - Signed binary integer values on 2-byte boundaries <br>
        K - Unsigned binary integer values on 2-byte boundaries <br>
        L - Unsigned 1-byte binary integer values <br>
        P - Packed decimal values <br>
        R - Floating point values (MPE/iX only) <br>
        U - Character values, all uppercase <br>
        V - C-String <br>
        X - Character values <br>
        Z - Zoned </p>
      <p>&nbsp;</p>
      <p class="line2">&nbsp;</p>
      <h4><a name="uk"></a>;UK - Unique Key</h4>
      <p>The Unique Key option applies exclusively to ASK indexes.</p>
      <p>When installed on a sorted key, it imposes a constraint on that key that 
        prevents duplicate values from being indexed for that key. If an application 
        tries to post a duplicate value to the ASK index, it incurs the error:</p>
      <p class="ex">9143 - A record with this primary (unique) key value already 
        exists.</p>
      <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.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="DBINSTAL.htm">DBINSTAL</A></td>
  </tr>
  <tr> 
    <td id="s52" class="menu1" onMouseOver="changeClass('menu0','s52');" onMouseOut="changeClass('menu1','s52');"><a href="../DSEDIT/DSEDIT.htm">DSEDIT</a></td>
  </tr>
  <tr> 
    <td id="s53" class="menu1" onMouseOver="changeClass('menu0','s53');" onMouseOut="changeClass('menu1','s53');"><a href="../NSADMIN/NSADMIN.htm">NSADMIN</a></td>
  </tr>
  <tr> 
    <td id="s54" class="menu1" onMouseOver="changeClass('menu0','s54');" onMouseOut="changeClass('menu1','s54');"><a href="../OACOMP/OACOMP.htm">OACOMP</a></td>
  </tr>
  <tr> 
    <td id="s55" class="menu1" onMouseOver="changeClass('menu0','s55');" onMouseOut="changeClass('menu1','s55');"><a href="../OADECOMP/OADECOMP.htm">OADECOMP</a></td>
  </tr>
  <tr> 
    <td id="s56" class="menu1" onMouseOver="changeClass('menu0','s56');" onMouseOut="changeClass('menu1','s56');"><a href="../OAHELPER/OAHELPER.htm">OAHELPER</a></td>
  </tr>
  <tr> 
    <td id="s57" class="menu1" onMouseOver="changeClass('menu0','s57');" onMouseOut="changeClass('menu1','s57');"><A href="../ODXAIM/ODXAIM.htm">ODXAIM</A></td>
  </tr>
  <tr> 
    <td id="s58" class="menu1" onMouseOver="changeClass('menu0','s58');" onMouseOut="changeClass('menu1','s58');"><a href="../ODXMAKE/ODXMAKE.htm">ODXMAKE</a></td>
  </tr>
  <tr> 
    <td id="s59" class="menu1" onMouseOver="changeClass('menu0','s59');" onMouseOut="changeClass('menu1','s59');"><a href="../ODXNET/ODXNET.htm">ODXNET</a></td>
  </tr>
  <tr> 
    <td id="s510" class="menu1" onMouseOver="changeClass('menu0','s510');" onMouseOut="changeClass('menu1','s510');"><A href="../ODXQUERY/ODXQUERY.htm">ODXQUERY</A></td>
  </tr>
  <tr> 
    <td id="s511" class="menu1" onMouseOver="changeClass('menu0','s511');" onMouseOut="changeClass('menu1','s511');"><a href="../ODXSQL/ODXSQL.htm">ODXSQL</a></td>
  </tr>
  <tr> 
    <td id="s512" class="menu1" onMouseOver="changeClass('menu0','s512');" onMouseOut="changeClass('menu1','s512');"><a href="../REGMAINT/REGMAINT.htm">REGMAINT</a></td>
  </tr>
  <tr> 
    <td id="s513" class="menu1" onMouseOver="changeClass('menu0','s513');" onMouseOut="changeClass('menu1','s513');"><A href="../REGTEST/REGTEST.htm">REGTEST</A></td>
  </tr>
  <tr> 
    <td id="s514" class="menu1" onMouseOver="changeClass('menu0','s514');" onMouseOut="changeClass('menu1','s514');"><a href="../SNOWGEN/SNOWGEN.htm">SNOWGEN</a></td>
  </tr>
  <tr> 
    <td id="s515" class="menu1" onMouseOver="changeClass('menu0','s515');" onMouseOut="changeClass('menu1','s515');"><a href="../SYSINFO/SYSINFO.htm">SYSINFO</a></td>
  </tr>
  <tr> 
    <td id="s516" class="menu1" onMouseOver="changeClass('menu0','s516');" onMouseOut="changeClass('menu1','s516');"><a href="../VERSIONS/VERSIONS.htm">VERSIONS</a></td>
  </tr>
  <tr> 
    <td id="s517" class="menu1" onMouseOver="changeClass('menu0','s517');" onMouseOut="changeClass('menu1','s517');"><a href="../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>
