An item descriptor

Each item descriptor in the system-descriptor area holds information about a data value that can be sent to or received from the database server.

Each item descriptor consists of the fields that the following table summarizes.
Table 1. Fields in each item descriptor of the system-descriptor area
Field Data type Description
DATA char * A pointer to the column data that is to be sent to or received from the database server.
TYPE short An integer that identifies the data type of the column that is being transferred. These values are defined in the sqltypes.h and sqlxtype.h header files (see Determine the data type of a column).
LENGTH short The length, in bytes, of CHAR type data, the encoded qualifiers of DATETIME or INTERVAL data, or the size of a DECIMAL or MONEY value.
NAME char * A pointer to the character array that contains the column name or display label that is being transferred.
INDICATOR short An indicator variable that can contain one of two values:
0
Requires the DATA field to contain non-null data.
-1
Inserts a NULL when no DATA field value is specified.
SCALE short Contains the scale of the column that is in the DATA field; defined only for the DECIMAL or MONEY data type.
PRECISION short Contains the precision of the column that is in the DATA field; defined only for the DECIMAL or MONEY data type.
NULLABLE short Specifies whether the column can contain a null value (after a DESCRIBE statement):
1
The column allows null values
0
The column does not allow null values.

Before an EXECUTE statement or a dynamic OPEN statement is executed, it must be set to 1 to indicate that an indicator value is specified in the INDICATOR field, and to 0 if it is not specified. (When you execute a dynamic FETCH statement, the NULLABLE field is ignored.)

IDATA char * User-defined indicator data or the name of a host variable that contains indicator data for the DATA field. The IDATA field is not a standard X/Open field.
ITYPE short The data type for a user-defined indicator variable. These values are defined in the sqltypes.h and sqlxtype.h header files. (See Determine the data type of a column.) The ITYPE field is not a standard X/Open field.
ILENGTH short The length, in bytes, of the user-defined indicator. The ILENGTH field is not a standard X/Open field.
EXTYPEID int4 The extended identifier for the user-defined (opaque or distinct) or complex (collection or row) data type. See the HCL OneDB™ Guide to SQL: Reference for a description of the extended_id column of the sysxtdtypes system catalog table.
EXTYPENAME char * The name of the user-defined (opaque or distinct) or complex (collection or row) data type. See the HCL OneDB Guide to SQL: Reference for a description of the name column of the sysxtdtypes system catalog table.
EXTYPELENGTH short The length, in bytes, of the string in the EXTYPENAME field.
EXTYPEOWNERNAME char * The name of the owner (for ANSI databases) of the user-defined (opaque or distinct) or complex (collection or row) data type. See the HCL OneDB Guide to SQL: Reference for a description of the owner column of the sysxtdtypes system catalog.
EXTYPEOWNERLENGTH short The length, in bytes, of the string in the EXTYPEOWNERNAME field.
SOURCETYPE short The data type constant (from sqltypes.h) of the source data type for a distinct-type column. See the HCL OneDB Guide to SQL: Reference for a description of the type column of the sysxtdtypes system catalog.
SOURCEID int4 The extended identifier of the source data type for a distinct-type column. See the HCL OneDB Guide to SQL: Reference for a description of the source column of the sysxtdtypes system catalog.