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

  • Fixed a indexing issue on Quicktext (Keyworded) columns which occurred only when two parsed columns were grouped together, and the second column was empty. This causes indexing problems and any customer using grouping should upgrade to 5.01.01L.

5.01.01K April 2011

  • Added a STRICT/RELAXED mode to the OdxJDBC Driver to allow connections to change from a read/write state to a read only state to work with certain tools such as JasperSoft.

5.01.01J January 2011

  • Fixed problem in internal oaexecsql routine to allow the Oracle functions within an Export statement.
  • Fixed Segmentation Fault error in the SQL optimizer.
  • Fixed Licensing system to work on read-only file systems.

5.01.01I October 2010

  • Fixed an issue to allow spaces in the OMNDIEX_HOME directory.

5.01.01H October 2010

  • Internal licensing change for flat file licensing.
  • Fixed an issue with the internal dbigetkeys optimizer and the indexing kernel.

5.01.01G September 2010

  • Fixed a problem when using EXISTS in an Omnidex Grid environment.
  • Added a facility to create an odxnet.log in the $OMNIDEX_HOME/logs/ directory should OdxNet abort abnormally.
  • OdxSQL no longer requires Windows file specifications to be escaped when using a connection string. Prior to 5.01.01G, the following syntax was required when using Windows filespecs and connection strings:
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

  • Fixes to OdxNet to better handle network processing across a grid.
  • Added a Linux 32 bit version that runs under 54bit Linux for MicroStrategy compatible.
  • As of the 5.01.01F release, the Index Directory option of the CREATE DATABASE no longer uses the index prefix option and will instead create the directory if they do not already exist in the OS. Existing DDL may have to be modified if they are using the Index_Directory/Index_Prefix option.

5.01.01E July 2010

  • Added several Oracle functions which can be used after a SET SQL_SYNTAX ORACLE statement is issued.
  • Made improvements to OdxNet for Grid processing and the ODBC/JDBC interfaces.
  • Fixes to OdxNet for multi-threaded concurrency.
  • Enhanced Explain Plans to show Grid information.
  • Added Error number 89067 to the Omnidex Message file dealing with the indexing kernel licensing.

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

  • Added Machine (System and User) Data Source creation and editing to the Omnidex ODBC Driver under Windows. You create/modify/delete System/User/File DSN using the standard “ODBC Data Source Administrator” program. Access this interface from Control Panel/Administrative Tools/Data Sources (ODBC).
  • Under Linux, you need to use odbcinst program if you use UnixODBC. Otherwise, you need to manually modify ODBC.INI file.

5.01.01C June 2010

  • Added a WITH LOG=<log directory> to log indexing information during the UPDATE INDEXES process. Also added a dbinstal.log that shows the dbinstal execution for this UPDATE INDEXES.

5.01.01B June 2010

  • Minor bug fixes.

5.01.01A May 2010

  • Initial 5.01.01A release.

DDL Support

  • Omnidex Data Definitiion (DDL) support
    • CREATE ENVIRONMENT
    • CREATE DATABASE
    • CREATE TABLE
    • CREATE INDEX
    • DROP ENVIRONMENT
    • DROP DATABASE
    • DROP TABLE
    • DROP INDEX

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

  • NsAdmin does not work.
  • odxnet -admin option is not currently active.
  • odxnet -nodaemon option is disabled.

OdxSQL Changes

  • OdxSQL now defaults to using a terminator, like Oracle or SQL Server. In 5.0 and earlier, you could do:
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.

 
Back to top
appendix/releasenotes.txt · Last modified: 2012/10/26 14:46 (external edit)