GBase 8s 还支持 BOOLEAN 数据类型,这是可存储 true、false 或 NULL 值的内建的 opaque 数据类型。符号 t 表示字面的 BOOLEAN true 值,f 表示字面的 BOOLEAN false 值。
BOOLEAN 是 LVARCHAR 可通过跨服务器分布式查询或通过其他跨服务器分布式 DML 操作返回的唯一内建的 opaque 数据类型。不可通过分布式查询(在远程数据库上通过 INSERT、DELETE 或 UPDATE 操作不修改)检索其他内建的 opaque 数据类型的列值,除非该 DML 操作访问的所有表都在本地的 GBase 8s 实例的数据库中。
类似地,在其他 GBase 8s 实例的数据库上执行分布式操作的 UDR 中,BOOLEAN 和 LVARCHAR 是作为参数或作为返回的该 UDR 的数据类型唯一有效的内建的 opaque 类型,必须在所有参与的数据库中定义该类型。
除了 BOOLEAN 类型之外, GBase 8s 的其他内建的 opaque 数据类型包括 BLOB、CLOB、LVARCHAR、IFX_LO_SPEC、IFX_LO_STAT、INDEXKEYARRAY、POINTER、RTNPARAMTYPES、SELFUNCARGS、STAT、CLIENTBINVAL 和 XID 数据类型。在本地数据库中以及在同一服务器实例的跨数据库分布式操作中,支持这十二个内建的 opaque 类型。在本章的随后部分中讨论这些类型中的前三个。
GBase 8s 还支持内建的 opaque 数据类型 LOLIST、IMPEX、IMPEXBIN 和 SENDRECV。然而,不可通过 DML 操作在远程数据库中访问这些类型,也不通过 UDR 从远程数据库返回,因为这些数据类型没有所需要的支持函数。要获取更多的关于 GBase 8s 在分布式事务中支持的数据类型的信息,请参阅 分布式查询中的数据类型。