---
title: "SPI_register_trigger_data"
id: spi-spi-register-trigger-data
pg_version: "20devel"
---
# SPI_register_trigger_data — make ephemeral trigger data available in SPI queries
## Synopsis
```
int SPI_register_trigger_data(TriggerData *tdata)
```
## Description
`SPI_register_trigger_data` makes any ephemeral relations captured by a trigger available to queries planned and executed through the current SPI connection. Currently, this means the transition tables captured by an `AFTER` trigger defined with a `REFERENCING OLD/NEW TABLE AS` ... clause. This function should be called by a PL trigger handler function after connecting.
## Arguments
**`TriggerData *tdata`**
the TriggerData object passed to a trigger handler function as `fcinfo->context`
## Return Value
If the execution of the command was successful then the following (nonnegative) value will be returned: **`SPI_OK_TD_REGISTER`**
if the captured trigger data (if any) has been successfully registered
On error, one of the following negative values is returned: **`SPI_ERROR_ARGUMENT`**
if `tdata` is `NULL` **`SPI_ERROR_UNCONNECTED`**
if called from an unconnected C function **`SPI_ERROR_REL_DUPLICATE`**
if the name of any trigger data transient relation is already registered for this connection