[About The Guide]
What's NEW in SIx Driver Version 3.0:
Superfast non-indexed searches are now supported through our license
agreement with Index Applications, Inc. to bundle Clipper Fast Text
Search with SIx 3.0. Combined with Mach SIx's RYO Filters, this provides
high speed filters for substrings within MEMOs or CHARACTER fields.
. Enhanced VariField Support
Under SIx 2.0 the term "VariField" referred primarily to ability to store
and retrieve variable data types into a MEMO field. For example, an array
stored in MEMO field would return "A" from Clipper's ValType() function.
In SIx 3.0, VariFields have been expanded to include a new .V. field
type. There are weakly-typed and strongly-typed VariFields.
Weakly-typed VariFields allow you to store a portion of any character
data in the .DBF field itself, with any additional amount, if any, being
automatically stored in the MEMO file. This substantially reduces the
amount of disk space required to store the data. This is sort of a cross
between using a CHARACTER field and a MEMO field at the same time.
A 6 byte pointer is maintained at the end of the weakly-typed "V" field
entry within the DBF file. For example, if you create your database with
a "V" field of 16 bytes, the first 10 bytes are considered 'significant'
and can be indexed on. The last six bytes are for the pointer
information. If you store 30 characters of text into this field, the
first 10 characters are stored within the DBF field, with the remaining
20 characters being automatically stored in the memo file. No special
functions are required to store or retrieve the field data in this
If, however, you store only 14 bytes into your 16 byte "V" field, nothing
will be written to the memo file. Nothing needs to. In this case, the
VariField system is smart enough to see that, had the four byte pointer
to the memo not been in the way, the whole entry would fit in the .DBF
field alone. So, it gives up the four bytes to your data. The last two
bytes, however, are always reserved to store the length of the text in
the "V" field.
Strongly-typed VariFields store DATE values in only three bytes instead
of eight, and long INTEGER values (up to .2G) in only 4 bytes. Any "V"
field defined with 4 bytes is automatically considered a strongly-typed
integer, and "V" fields defined with 3 bytes are automatically considered
strongly-typed DATE values.
. Integrated Mach SIx Query Optimization
Many SIx 2.0 users were not taking advantage of the Mach SIx query
optimizer due to either confusion on how it's used, not knowing what it
does, or from simply not knowing that it was there.
In SIx 3.0, Mach SIx is now part of the SIX3.LIB file and is
automatically made available to optimize any FILTER or FOR conditions
which may have matching indexes. The MACHSIX.LIB is no longer included,
as all of the Mach SIx functions are now inside SIX3.LIB. Likewise, the
NSXMACH6.OBJ and CDXMACH6.OBJ files are no longer required or included.
. Reduced Memo File Block Sizes
Under SIx 2.0, the default block sizes for .FPT and .SMT memos was 64,
and could be set anywhere from 16 to 1024.
In SIx 3.0, .FPT memo files now have a default block size of 32, and
.SMTs now have a default block size of 1. Both memo file formats also now
support block sizes down to 1 byte, for ZERO memo bloat.
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson