SPI_register_trigger_data

SPI_register_trigger_data — make ephemeral trigger data available in SPI queries

Synopsis

int SPI_register_trigger_data(TriggerData *tdata)

简介

SPI_register_trigger_data会造出被触发器捕获的任何短暂存在的关系,它们对通过当前SPI连接规划和执行的查询可用。当前,这表示用REFERENCING OLD/NEW TABLE AS ... 子句定义的被AFTER触发器捕获的传递表。这个函数应该被一个PL触发器的处理器函数在连接之后调用。

参数

TriggerData *tdata

fcinfo->context传递给触发器处理器函数的TriggerData对象

返回值

如果命令的执行成功,则会返回下列(非负)值:

SPI_OK_TD_REGISTER

如果被捕获的触发器数据(如果有)已经被成功地注册

出现错误时,会返回下列负值之一:

SPI_ERROR_ARGUMENT

如果tdataNULL

SPI_ERROR_UNCONNECTED

如果从一个未连接的C函数中调用

SPI_ERROR_REL_DUPLICATE

如果任何触发器数据瞬时关系的名字已经为这个连接注册过