DISC

Contents | What's New | Quick Links

 

Appendix

Introduction

Software Installation

Concepts and Design

Designing Applications

Omnidex Environments

SQL Reference

Omnidex API's

Utilities

Interfaces

Performance Guide

Troubleshooting Guide

Appendix

 

 

File Name Handling

 

File names are used throughout Omnidex to point to files containing information pertinent to the immediate task. From declaring the physical location of data files in an Omnidex Environment file to passing a USE file for testing an application in ODXSQL, Omnidex offers several options for using and passing physical file names.

 

File Name Handling

Naming Conventions and File Extensions

Limitations

Environment Variables

Multiple Files

Using File Contents

Examples

Appendix

 

Naming Conventions and File Extensions

Omnidex uses a standard set of file extensions, suffixes, when dealing with file types specific to the software, some required and some optional. Following is a list of required and recommended file extensions:

.src

Omnidex Environment Source File - Recommended, assumed if omitted.

.env

Omnidex Environment File
(Compiled Environment Source File)
Required, assumed if omitted.

.tdf

Tab-Delimited File
Recommended.

.ost

Omnidex Stand-Alone Table
Required.

.ofx

Offset Index
Required.

 

 

top

 

Limitations

  • Each filespec, including the full path and file name, is limited to 255 characters in length. This is a POSIX limitation.
  • Where multiple files are allowed, there is no limit as to the number of files passed, as long as each individual filespec adheres to the 255 character limit.
  • When using environment variables, the output of the translation of the environment variables is limited to 255 characters.
  • When using the contents of a file, the output of the file is limited to 255 characters.

top

 

Environment Variables

Environment variables can be used anywhere that file names are used. They can be passed in place of, or in conjunction with, a file name.

Omnidex supports operating system syntax as well as its own, universal syntax, for using environment variables.

For example, assume the environment variable APPLICATION_HOME has been set to point to the main application directory on a server. The syntax to reference that environment variable, in the INDEXPREFIX declaration in the Omnidex Environment file for example, is as follows:

Windows Syntax

INDEXPREFIX %APPLICATION_HOME% "\idx\orders"

UNIX Syntax

INDEXPREFIX $APPLICATION_HOME "/idx/orders"

Omnidex Universal Syntax

INDEXPREFIX {$APPLICATION_HOME "/idx/orders"}

This last example will translate the line to the proper operating system syntax.
Note that it is not possible to use system commands like "cat" or "type" when using the Omnidex Universal Syntax.

top

 

Passing Multiple File Names

Omnidex supports the use of multiple files in some places like the PHYSICAL clause of the TABLE section in the Omnidex Environment file. Multiple file names can be passed in two ways:

  • using a wildcard character
  • using a comma-separated list of files

Wildcard Character

The syntax for passing multiple file names with a wildcard card character is much like the operating system syntax. Each file must adhere to the 255 character length limit, however, there is no limit to the number of files that can be included with this wildcard character.

For example, assume there are serveral .dat files in the same directory, they can be referenced by:

data/*.dat

data/sales*.dat

sales2003.*

*.*

 

Comma-Separated List

Multiple files can be passed using a comma-separated list of file names. Each file spec must adhere to the 255 character length limit, however, there is no limit to the number of files that can be passed in the comma-separated list.

PHYSICAL "data/sales1.dat,data/sales2.dat,data/sales3.dat,data/sales4.dat"

top

 

Using File Contents as Arguments

Omnidex supports the use of file contents as an argument. To accomplish this, use the system command, cat on Unix and type on Windows, to display the contents of a text file to the screen. Omnidex will use the value output with this command as the argument value where used.

For example, the default user name can be stored in a file (username.txt) and passed using the cat or type system command.

USER type "username.txt"

The contents of username.txt are used at the USER argument.

Note that it is not possible to use these system commands in conjunction with the Omnidex Universal syntax.

top

 

Examples

Environment Variables

In this example, you want to make Omnidex put all of the Omnidex index files into the idx sub-directory of the main application directory, c:\omnidex, and prefix these index files with the filename "orders".

In this example, an environment variable called APPLICATION_HOME points to this main application directory. You'll set the INDEXPREFIX clause of the DATABASE statement in the Omnidex Environment file to use this environment variable, as follows:

INDEXPREFIX "%APPLICATION_HOME%\idx\orders"

This will cause all of the index files to be created as follows:

c:\omnidex\idx\orders0A
c:\omnidex\idx\orders0B
c:\omnidex\idx\orders0C
...

The above example is on a Windows machine, however, the same can be accomplished on a Unix machine using Unix syntax.

 

Multiple Environment Variables can be concatenated together to form a single argument value. For example, assume the following environment variables have been set:

APPLICATION_HOME = "/usr/omnidex/"
DATA_FILES = "datafiles/currentyear/"
SALES_DATA = "sales.dat"

The PHYSICAL clause of the TABLE section in the Omnidex Environment file can look like this:

PHYSICAL "{$APPLICATION_HOME$DATA_FILES$SALES_DATA}"

 

Multiple Files Using a Wildcard Character

In this example, there are several .dat files located in the data subdirectory of the application's home directory. These .dat files are going to be defined together as a single table Physical clause of the Table section in the Omnidex Environment file.

TABLE Sales
PHYSICAL "{$APPLICATION_HOME /data/*.dat}"

Multiple Files Using a Comma-Separated List of Files

The previous example can also be accomplished by concatenating all of the filenames together into a comma-separted list.

TABLE Sales
PHYSICAL {"data/january.dat,data/february.dat,data/march.dat,data/april.dat,
data/may.dat,data/june.dat,data/july.dat,data/august.dat,data/september.dat,
data/october.dat,data/november.dat,data/december.dat"}

top

Dynamic Information Systems Corporation - Omnidex Version 3.8 Build 6 J15.03-Copyright © 2003

DISC | Documentation Home