---
name: "SPI_register_trigger_data"
section: "3"
platform: "linux"
package: "postgresql"
version: "18.6-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SPI_register_trigger_data"
---

# SPI\_register\_trigger\_data(3)

make ephemeral trigger data available in SPI queries

## NAME

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
