lld_locator 数据类型

lld_locator 数据类型用于识别大对象。它指定大对象的种类,并为其位置提供指针。lld_locator 是一种行类型,定义如下:
create row type informix.lld_locator 
   {
      lo_protocol                  char(18
      lo_pointer           informix.lld_lob0
      lo_location           informix.lvarchar
   }   
lo_protocol
识别大对象的种类。
lo_pointer
指向智能大对象的指针,如果大对象是智能大对象以外的任何其他种类的大对象,那么为 NULL
lo_location
指向大对象的指针(如果不是智能大对象)。如果是智能大对象,那么设置为 NULL
lo_protocol 字段中,指定要创建的大对象种类。指定的大对象种类可确定另外两个字段的值:

lo_pointer 字段使用由 Large Object Locator 定义的 lld_lob 数据类型。这种数据类型允许您指向智能大对象,并指定其类型是 BLOB 还是 CLOB。有关更多信息,请参阅 lld_lob 数据类型

lo_location 字段使用 lvarchar 数据类型,这是一种可变长度的字符类型。

下表列出了当前协议,并根据指定的协议汇总了其他字段的值。请务必检查此出版物随附的发行说明,以便了解 Large Object Locator 是否支持此处未列出的其他协议。
提示: 虽然 lld_locator 类型目前不可扩展,但以后可能可扩展。为了避免将来发生名称空间冲突,Large Object Locator 建立的所有协议均带有 IFX 前缀。
表 1. lld_locator 数据类型的字段
lo_protocol lo_pointer lo_location 描述
IFX_BLOB 智能大对象的指针 NULL 智能大对象
IFX_CLOB 智能大对象的指针 NULL 智能大对象
IFX_FILE NULL 路径名 服务器上可访问的文件
重要: lo_protocol 字段不区分大小写。以大写字母表示只是为了显示方便。

lld_locator 类型是行类型的实例。可以使用 SQL INSERT 语句将行插入数据库中,也可以通过调用 DataBlade API mi_row_create() 函数来获取行。请参阅 GBase 8t ESQL/C 程序员手册 以获取有关行类型的信息。请参阅 GBase 8t DataBlade API 程序员指南 以获取有关 mi_row_create() 函数的信息。

要引用现有大对象,可以将 lld_locator 行直接插入数据库中的表内。

要创建大对象及其引用,可以调用 lld_create() 函数并传递 lld_locator 行。

可以按照 Large Object Locator 函数中的描述将 lld_locator 类型传递到以下 Large Object Locator 函数: