In QMF Version 8.1, the column name field in the column record must be increased from 18 to 30 characters when a column name longer than 18 characters exists. When there is a column name longer than 18 characters, the IXF version number in the header record is set to 0001. If there are no column names longer than 18 characters, the older IXF format compatible with previous releases of QMF is used. In these instances, the IXF version number in the header record is 0000.
A column record describes the data characteristics of the column. There is a column record for each column in the table. The format of the column record follows:
Byte position |
Information and type |
---|---|
01 | Column record indicator (C) |
02-03 | Column name length |
04-21 | Column name, as obtained from the database or
generated by QMF (in the case where the column did not originally
have a name)
The name is left-justified, and padded with blanks to the right if necessary. |
22 or 34 | Indicator that tells if nulls are allowed, (Y or N) |
23 or 35 | Column selected indicator (Y) |
24 or 36 | Key column indicator (Y) |
25 or 37 | Data class (R) |
26-28 or 38-40 | Data type (see Table 12 for data type codes) |
29-33 or 41-45 | Code page (00000) |
34-38 or 46-50 | Reserved |
39-43 or 51-55 | Column data length; a numeric value in character
form
If data type is DECIMAL, the first 3 bytes represent data precision and the next 2 bytes represent the scale. If data type is INTEGER, SMALLINT, DATE, TIME, or TIMESTAMP, this field is blank (length is inherent in data type). |
44-49 or 56-61 | Starting position of column data- a value (in
character form) reflecting the offset of the data for a column from
the start of the data record
If the column allows nulls, this field points to the null indicator. If the column does not allow nulls, it points to the data itself. Whether or not the column allows nulls, space for the null indicator is always present in the record. The starting position is based from the first byte that contains data. Therefore, the first five bytes of the data (D) record are not included in any consideration for starting position. The first data position is position 1, not position 0. |
50-79 or 62-91 | Column label information, if available, otherwise blanks |
80-81 or 92-93 | Two bytes of zeros in character form (00) |