SYSXTDTYPES
The sysxtdtypes system catalog table has an entry for each UDT (user-defined data type), including opaque and distinct data types and complex data types (named ROW types, unnamed ROW types, and COLLECTION types), that is defined in the database.
Column | Type | Explanation |
---|---|---|
extended_id | SERIAL | Unique identifying code for extended data type |
domain | CHAR(1) | Code for the domain of the UDT |
mode | CHAR(1) | Code classifying the UDT:
|
owner | VARCHAR(32) | Name of the owner of the UDT |
name | VARCHAR(128) | Name of the UDT |
type | SMALLINT | Code classifying the UDT |
source | INTEGER | The sysxtdtypes reference (for distinct
types only) Zero (0) indicates that a distinct UDT was created from a built-in data type. |
maxlen | INTEGER | The maximum length for variable-length data
types Zero indicates a fixed-length UDT. |
length | INTEGER | The length in bytes for fixed-length data types
Zero indicates a variable-length UDT. |
byvalue | CHAR(1) | 'T ' = UDT is passed by value ' |
cannothash | CHAR(1) | 'T ' = UDT is hashable by default
hash function ' |
align | SMALLINT | Alignment ( = 1, 2, 4, or 8) for this UDT |
locator | INTEGER | Locator key for unnamed ROW type |
Each extended data type is characterized by a unique identifier, called an extended identifier (extended_id), a data type identifier (type), and the length and description of the data type.
For distinct types created from built-in data types, the type column codes correspond to the value of the syscolumns.coltype column (indicating the source type) as listed on page SYSCOLUMNS, but incremented by the hexadecimal value 0x0000800. The file $INFORMIXDIR/incl/esql/sqltypes.h contains information about sysxtdtypes.type and syscolumns.coltype codes.
An index on the extended_id column allows only unique values. An index on the locator column allows duplicate values, as does a composite index on the name and owner columns. A composite index on the type and source columns also allows duplicate values.