SYSXTDTYPES

sysxtdtypes 系统目录表中,在数据库中定义的每个 UDT(用户定义的数据类型)对应一个条目,这些类型包括不透明和单值数据类型以及复杂数据类型(命名 ROW 类型、未命名 ROW 类型和 COLLECTION 类型)。

sysxtdtypes 表具有以下列。
表 1. SYSXTDTYPES 表列描述.

类型 解释
extended_id SERIAL 扩展数据类型的唯一标识代码
domain CHAR(1) UDT 的域的代码
mode CHAR(1) 对 UDT 进行分类的代码:
  • B = 基本(不透明)类型
  • C = 集合类型或未命名 ROW 类型
  • D = 单值类型
  • R = 命名 ROW 类型
  • ' '(空白)= 内置类型
owner VARCHAR(32) UDT 所有者的名称
name VARCHAR(128) UDT 的名称
type SMALLINT 对 UDT 分类的代码
source INTEGER sysxtdtypes 引用(仅适用于单值类型)

零 (0) 指示从内置数据类型创建了单值 UDT。

maxlen INTEGER 可变长度数据类型的最大长度

零指示固定长度 UDT。

length INTEGER 固定长度数据类型的长度(以字节计)

零指示可变长度 UDT。

byvalue CHAR(1) T”= UDT 通过值传递

F”= UDT 不通过值传递

cannothash CHAR(1) T”= UDT 可通过缺省散列函数散列

F”= UDT 不可通过缺省函数散列

align SMALLINT 此 UDT 的对齐方式(= 1、2、4 8)
locator INTEGER 未命名 ROW 类型的定位器键

每个扩展数据类型都用唯一标识符(称为扩展标识符 (extended_id))、数据标识符 (type) 以及长度和数据库类型的描述来作为特征。

对于使用内置数据类型创建的单值类型,type 列代码对应于第 SYSCOLUMNS 页中列出的 syscolumns.coltype 列(指示源类型)的值,但要加上一个十六进制值 0x0000800。 文件 $GBASEDBTDIR/incl/esql/sqltypes.h 包含有关 sysxtdtypes.typesyscolumns.coltype 代码的信息。

extended_id 列的索引只允许唯一值。locator 列的索引允许重复值,nameowner 列的组合索引也一样。typesource 列的组合索引也允许重复值。