SPI_register_trigger_data — make ephemeral trigger data available in SPI queries
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
如果tdata
为NULL
SPI_ERROR_UNCONNECTED
如果从一个未连接的C函数中调用
SPI_ERROR_REL_DUPLICATE
如果任何触发器数据瞬时关系的名字已经为这个连接注册过