日志表、视图和昵称

日志表的用途就是存储对用户表或视图的更改操作,这些用户表或视图需要与外部全文本索引同步。

对于为常规表或昵称表创建的索引,有一些针对用户表创建的触发器将更改信息填入日志表中。但是,如果使用复制捕获表,则不创建任何日志表,反而使用复制捕获表。

对于日志表,更新命令读取各个条目,并在成功同步后删除它们。

但是,对于视图的索引,触发器不能填充日志表。因为可以更新视图,所以用户负责此任务。

表 16. 日志表视图
属性 类型 注意事项
OPERATION INTEGER 对需要索引同步的用户表的更改的类型:(0 = 插入、1 = 更新,而 2 = 删除)。
TIME TIMESTAMP 在此表中创建一行的时间戳记。
PK01 ... PKnm 与用户表相同 出现错误时发生问题的列。对于视图的索引,它们是用户表的主键列或同等键列的副本。

创建该表的用户能够选择、更新、插入和删除此视图。

如果在创建索引命令中指定复制捕获表,则不创建任何日志表反而使用复制捕获表。复制捕获表必须包含下列各列:

表 17. 复制捕获表
属性 类型 注意事项
IBMSNAP_OPERATION INTEGER 对需要索引同步的 CD 或 CCD 表的更改的类型:(I = 插入、U= 更新,而 D= 删除)。

当使用复制捕获表时,更新操作将分割为删除和插入操作。在此情况下,事件表中的插入操作可以来自于对其创建索引的源表的插入或更新操作。

IBMSNAP_COMMITSEQ CHAR 映射至 CD 或 CCD 表的相应列。
IBMSNAP_INTENTSEQ CHAR 映射至 CD 或 CCD 表的相应列。
PK01 ... PKnm 与用户表相同 出现错误时发生问题的列。它们是用户表的主键列。

定义该表的用户能够使用授权选项进行选择、更新、插入和删除。