Description File Elements
Description file elements must appear in a particular order. Table
82
lists the description file elements in the appropriate order. For each element, the table specifies the required format and the range of acceptable values.
•
An asterisk (*) indicates that the element is optional.
•
A pound sign (#) indicates that it is not applicable in the current MicroKernel version but is retained for backward compatibility with previous MicroKernel versions.
•
A percent sign (%) indicates that the element is applicable only to the current MicroKernel version.
Table 82
Summary of Description File Elements
Element
Keyword and Format
Range
Comments
File Specification Information
Comment Block*
/*. . . . . . . . . . . . */
5,120 bytes
None.
Record Length
record=
nnnn
4 – 8,184
None.
Variable-Length Records
variable=<y|n>
N/A
Not applicable to key-only files.
Reserved Duplicate Pointer*
dupkey=<
nnn
>
0 – 119
Applicable only to files for which you plan to add linked-duplicatable keys.
Blank Truncation*
truncate=<y|n>
N/A
Not applicable for files that use record compression.
Record Compression*
compress=<y | n>
N/A
Not applicable to key-only files. See also
Record and Page Compression
.
Key Count
key=
nnn
0 – 119
Specify 0 to create a data-only file.
If key count is 0, then Include Data and Use System Data cannot be set to "no."
Page Size
page=
nnnn
512 – 4096 bytes for file versions prior to 9.0 (a multiple of 512 bytes up to 4096)
512, 1024, 1536, 2048, 2560, 3072, 3584, 4096, or 8192 bytes for file version 9.0.
1024, 2048, 4096, 8192, or 16384 bytes for file versions 9.5 and newer.
Page Preallocation*
allocation=
nnnnn
1 – 65,535
None.
Replace Existing File*#
replace=<y|n>
N/A
None.
Include Data*
data=<y|n>
N/A
Specify
n
to create a key-only file. Cannot create a key-only file that both allows duplicates and uses a system-defined key.
Free Space Threshold*
fthreshold=<5|10|20|30>
N/A
Applicable only for files that have variable-length records. The default is 5.
Variable-Tail Allocation Tables (VATs)
huge=<y|n> #
vats=<y|n>
N/A
Applicable only for files that have variable-length records.
Balanced Index*
balance=<y|n>
N/A
None.
Use Key Number *
usekeynum=<y|n>
N/A
Used with the Key Number element.
1
Use System Data*%
sysdataonrecord=
<n|loggable>
N/A
If no element specified, MicroKernel configuration is used. If creating a key-only file, MicroKernel configuration is used and this element is ignored. Also, you cannot create a key-only file that both allows duplicates and uses a system-defined key.
Page Compression*
pagecompress=<y | n>
N/A
See also
Record and Page Compression
.
Key Specification Information
Key Number *
keynum=
nnn
0 – 118
Must be unique to the file, specified in ascending order, and valid for the file’s Page Size. Applicable only when creating a file.
Key Position
position=
nnnn
1 – 8,184
Cannot exceed the Record Length.
Key Length
length=
nnn
key type limit
Cannot exceed the limit dictated by the Key Type. For binary keys, the key length must be an even number. The total of the Key Position and Key Length cannot exceed the file’s Record Length.
Duplicate Key Values
duplicates=<y|n>
N/A
Cannot create a key-only file that allows duplicates and uses a system-defined key.
Modifiable Key Values
modifiable=<y|n>
N/A
None.
Key Type
type=
validMKDEKeyType
N/A
Can enter the entire word (as in float) or just the first three letters (as in flo).
Descending Sort Order*
descending=<y|n>
N/A
None.
Alternate Collating Sequence
alternate=<y|n>
N/A
Applicable only for case sensitive STRING, LSTRING, WSTRING, WZSTRING, or ZSTRING keys. When creating an additional index for an existing file, if you want the index to use an ACS other than the first one in the data file, use with
caseinsensitive=y
.
Case-Insensitive Key*
caseinsensitive=<y|n>
N/A
Applicable only for STRING, LSTRING, or ZSTRING keys that do not use an ACS.
Repeating Duplicates*
repeatdup=<y|n>
N/A
If creating a key-only file, use repeating duplicates. If using this element, you must use duplicates=y.
Null Segments*
nullkey=<allsegs | n | anyseg |>
N/A
None.
Null Key Value
value=
nn
1-byte hex
Used with the Null Segments element.
Segmented Key
segment=<y|n>
N/A
None.
Alternate Collating Sequence File Name/ID
name=
sequenceFile
or countryid=
nnn
and codepageid=
nnn
isr=table name (%)
valid path
or
values valid to operating system or -1
Used with the Alternate Collating Sequence element.
1
When the database engine adds a system key, the resulting records may be too large to fit in the file’s existing page size. In such cases, the database engine automatically increases the file’s page size to the next accommodating size.