Omnidex 5.1 Patches

The following is a list of fixes and enhancements for the Omnidex 5.x series of releases.

For a list of fixes and enhancements for Omnidex 5.0 series, click here.

For a list of fixes and enhancements for Omnidex 4.x series, click here.

5.01.01L August 2011

5.01.01K April 2011

5.01.01J January 2011

5.01.01I October 2010

5.01.01H October 2010

5.01.01G September 2010

odxsql> connect [localhost:7555]c:\\dev\\odx\\myodx.xml;

Now the following syntax is allowed:

odxsql> connect [localhost:7555]c:\dev\odx\myodx.xml;

5.01.01F August 2010

5.01.01E July 2010

The following is an example of the enhanced Explain Plans on a Grid.

----------------------------------- SUMMARY -----------------------------------
Select        STATE,
              count(*)
  from        PROSPECTS
  group by    STATE
  with        opt=no_rollup;

Version:      5.1 Build 1E  (Compiled Jul  2 2010  10:50:49)
Optimization: GRID
Warnings:     GRID_AGGREGATION
------------------------------- GRID PERFORMANCE ------------------------------
                                                   Elapsed seconds
                          0.0        1.6         3.1       4.7           6.2
[localhost]
 Controller               ---------------                                  +
 NODE01                                 .................===>>
 NODE02                                 .................===>>
 NODE03                                                      ............==>


Elapsed Time              Connect  Select  Fetch (Count)   Transfer  Total
NODE01                    2.12     0.40    0.04 (1)           -      2.57
NODE02                    2.14     0.39    0.03 (2)           -      2.56
NODE03                    1.50     0.25    0.03 (6)           -      1.78
Controller                                                           6.23
---------------------------------- GRID NODES ---------------------------------

  ---------------------------------- NODE01 ---------------------------------
  Start/Stop:   13:41:38.223 to 13:41:38.629
  Elapsed:      0.406
  Request Opt:  PRIKEY, MDKQUAL, NO_DISTINCT_KEYWD, ASKQUAL, ASKORDERBY,
                AGGREGATION, ASKLINK, ASKRETRIEVAL, STARSCHEMA, CACHED_VIEW,
                MDKLINK, HDC, REUSEQUAL, NO_ROLLUP, NO_UNRESTRICTEDQUAL
  Optimization: AGGREGATION
  Details:

  Aggregate PROSPECTS using STATE for GROUP(STATE), COUNT(*) on 1;
  Return PROSPECTS.STATE, COUNT('*');

  ---------------------------------- NODE02 ---------------------------------
  Start/Stop:   13:41:38.238 to 13:41:38.629
  Elapsed:      0.390
  Request Opt:  PRIKEY, MDKQUAL, NO_DISTINCT_KEYWD, ASKQUAL, ASKORDERBY,
                AGGREGATION, ASKLINK, ASKRETRIEVAL, STARSCHEMA, CACHED_VIEW,
                MDKLINK, HDC, REUSEQUAL, NO_ROLLUP, NO_UNRESTRICTEDQUAL
  Optimization: AGGREGATION
  Details:

  Aggregate PROSPECTS using STATE for GROUP(STATE), COUNT(*) on 1;
  Return PROSPECTS.STATE, COUNT('*');

  ---------------------------------- NODE03 ---------------------------------
  Start/Stop:   13:41:40.160 to 13:41:40.410
  Elapsed:      0.250
  Request Opt:  PRIKEY, MDKQUAL, NO_DISTINCT_KEYWD, ASKQUAL, ASKORDERBY,
                AGGREGATION, ASKLINK, ASKRETRIEVAL, STARSCHEMA, CACHED_VIEW,
                MDKLINK, HDC, REUSEQUAL, NO_ROLLUP, NO_UNRESTRICTEDQUAL
  Optimization: AGGREGATION
  Details:

  Aggregate PROSPECTS using STATE for GROUP(STATE), COUNT(*) on 1;
  Return PROSPECTS.STATE, COUNT('*');
------------------------------- GRID CONTROLLER -------------------------------
Select        STATE,
              cast(sum(NEWCOL1) as unsigned integer)
  from        NODE_RESULTS
  group by    STATE
  with        OPTIMIZATION=no_rollup;

Request Opt:  PRIKEY, MDKQUAL, NO_DISTINCT_KEYWD, ASKQUAL, ASKORDERBY,
              AGGREGATION, ASKLINK, ASKRETRIEVAL, STARSCHEMA, CACHED_VIEW,
              MDKLINK, HDC, REUSEQUAL, NO_ROLLUP, NO_UNRESTRICTEDQUAL
Optimization: NONE
Warnings:     UNOPTIMIZED_AGGREGATION, UNOPTIMIZED_SORT, SEQUENTIAL_SCAN
Notes:        Optimized aggregations are not possible because no ASK index
                contains all columns
Details:

Retrieve NODE_RESULTS sequentially;
Pass to queue {1} [NODE_RESULTS.STATE, NODE_RESULTS.NEWCOL1];
Sort {1} for GROUP BY [NODE_RESULTS.STATE ASC];
Retrieve {1} sequentially;
Return NODE_RESULTS.STATE, CAST(SUM(NODE_RESULTS.NEWCOL1) AS UNSIGNED
   INTEGER);
-------------------------------------------------------------------------------
>

5.01.01D July 2010

5.01.01C June 2010

5.01.01B June 2010

5.01.01A May 2010

DDL Support

Terminology changes

Omnidex Index is a MDK index with the No Parse and No Exclude options (dbinstal NP, NE).
QuickText Index is a MDK index with the keyword option (dbinstal KW).
FullText Index is a MDK index with the proximity option (dbinstal PX).

XML versus ENV Catalogs

As of Omnidex 5.1 XML Environments are the preferred approach over the legacy Omnidex Environment Catalogs using the original OmniAccess Environment syntax and compiled with oacomp. With 5.1, XML Environments can be more easily maintained with the OdxSQL using the DDL CREATE statements. The new Omnidex Environment file is stored in the common XML format.

Known Problems

OdxSQL Changes

select * \
  from grs \
  where criteria

and not have to end with a terminator. Now you can do:

select * 
  from grs
  where criteria;

and not have to enter the continuation characters.

To get the previous behavior, use the following OdxSQL SET option.

set termination off

and it will use the 5.0-style behavior.