DBINFO() 函数的 'cdrsession' 选项检测是否执行 INSERT、UPDATE 或 DELETE 语句作为复制的事务的一部分。
您可能想要升级触发器、存储过程或用户定义的例程来采取不同的活动,这依赖于是否执行事务作为 Enterprise Replication 的一部分。如果线程执行的数据库操作是 Enterprise Replication apply 或 sync 线程,则 DBINFO() 函数的 'cdrsession' 选项返回 1;否则,该函数返回 0。
下列示例展示使用 'cdrsession' 选项的 SPL 函数,来确定线程是否正在执行 Enterprise Replication 操作:
CREATE FUNCTION iscdr () RETURNING int; DEFINE iscdrthread int; SELECT DBINFO('cdrsession') into iscdrthread from systables where tabid = 1; RETURN iscdrthread; END FUNCTION