Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- SIx Driver RDD v3.00 - Reference Guide - <b>mach six features:</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
  Mach SIx Features:

   . AUTOMATICALLY optimizes the following Clipper commands:

      AVERAGE
      CONTINUE
      COUNT
      COPY [SDF] [DELIMITED]
      DELETE
      DISPLAY
      INDEX
      LABEL
      LIST
      LOCATE
      RECALL
      REPLACE
      REPORT
      SET FILTER
      SORT
      SUM
      TOTAL

   . ORDER aliasing provides a way to specify exactly what indexes
     are used to optimize a query.   All open indexes qualify, including
     Roll-Your-Own, Conditional, Unique, and Partial indexes.

   . Roll-Your-Own filter functions provide a powerful yet intuitive
     interface to MachSIx's internal filtering engine.

   . Automatic static filtering of the non-optimizable portion of
     a query improves SET FILTER performance by only testing that part
     of the query against the record once.  If the test fails then the
     record is never visited again.

   . Full expression testing prevents mid-process error detection by
     validating the entire query expression before optimizing begins.

   . Query expressions can be specified in either literal or extended
     expression form.  An extended expression differs from a literal one
     in that you store the desired query expression into a character
     variable and specify that variable name surrounded by parenthesis in
     place of the literal expression.

          COUNT TO nCount FOR state="CA"     // literal form

          cCond := 'state = "CA"'
          COUNT TO nCount for (cCond)        // extended form

   . Dynamically build and optimize queries with up to 250 items!
     That's far beyond the 256 character limit of Clipper.  (An item is any
     simple expression or logical operator.)

   . Optimize queries on databases with up to 524 million records.

   . Optimized code block scan of a database with m6_dbEval(), our
     version of Clipper's dbEval().

   . Copy database records to an array for program manipulation or
     for use with TBrowse() using COPY TO ARRAY.

   . Store database record numbers to an array for later processing
     with the SEARCH FOR command.

   . Full and Partial index keys are optimizable.  Other query
     optimizers require the index key in the criteria to be an exact match
     of an indexed expression.  This is not the case with Mach SIx.  Only
     the left most portion of the key must match.

     For example, an index expression built on LAST+FIRST is optimizable on
     just LAST.

   . Full and Partial optimization of a FOR clause is supported.  A fully
     optimizable expression is one where all expressions in the FOR clause
     are indexed.  A partially optimizable expression is where at least one
     expression in the FOR clause is indexed.  In the case of partial
     optimization, non-indexed expressions piggy-back one or more indexed
     expressions in the FOR criteria.

   . Smart translations of indexed expressions embedded in functions into
     optimizable expressions.  Mach SIx extends the idea of partial index
     keys into actually recognizing the existence of a key imbedded in a
     function call, and then translating it into an optimizable expression.

     For example, Empty(LAST) becomes LAST = Space(15), Year(DATE) = 1992
     becomes DtoS(DATE) = "1992", etc...  As long as you have an index built
     on the translation, the expression is optimizable.

   . Short-cutting.  Mach SIx was designed with the same short-cutting
     technology found in the Clipper compiler.  If an expression joined by
     an .AND. fails, the evaluation immediately faults, and resumes with
     the next .OR.'ed expression, if one exists.

   . Seamless integration.  SET FILTER optimizations are handled
     automatically.  To optimize other supported commands using a FOR
     condition, just #include the MACHSIX.CH header file at the top of your
     source file (after the SIx Driver header file), recompile, and your
     existing code will be automatically optimized for the commands
     supported.

   . Relationships supported through partial optimization.  Just make sure
     that one expression in the FOR clause is indexed.  Better yet, index on
     the relationship, and the expression will be fully optimizable.

   . Measure the level optimization of the FOR criteria prior to issuing an
     optimizable command, with the m6_IsOptimize() function.


Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson