SPI_REGI...GGER_DATA(3)

πŸ“¦ version 15.19, in opensuse-leap 16.0

πŸ’– NAME πŸ’–

okay so you're on the <SPI_REGI...GGER_DATA(3)> page, bestie, and the function is SPI_register_trigger_data πŸ’… β€” it makes ephemeral trigger data available in SPI queries. That's the whole assignment: trigger data, but make it available to SPI queries. periodt.

πŸŽ€ SYNOPSIS πŸŽ€

int SPI_register_trigger_data(TriggerData *tdata)

✨ DESCRIPTION ✨

This function SPI_register_trigger_data makes any ephemeral relations captured by a trigger available to queries planned and executed through the current SPI connection. No cap, that's the glow-up.

Currently, this means the transition tables captured by an AFTER trigger defined with a REFERENCING OLD/NEW TABLE AS ... clause. It's giving AFTER-trigger transition-table realness.

This function should be called by a PL trigger handler function after connecting. Call it after connecting, bestie β€” that's the assignment.

🌸 ARGUMENTS 🌸

  • TriggerData *tdata β€” the TriggerData object passed to a trigger handler function as fcinfo->context. That's the trigger context package you get handed.

πŸ”₯ 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. Success slay ✨

On error, one of the following negative values is returned:

  • SPI_ERROR_ARGUMENT β€” if tdata is NULL. ya forgot the data, bestie 😭
  • SPI_ERROR_UNCONNECTED β€” if called from an unconnected C function. no connection, no party πŸ’€
  • SPI_ERROR_REL_DUPLICATE β€” if the name of any trigger data transient relation is already registered for this connection. duplicate name energy, not iconic πŸ™ˆ

PostgreSQL 15.19 documentation, dated 2026, for the SPI_REGI...GGER_DATA(3) page β€” that's the footer tea, bestie. xoxo, have fun registering that trigger data πŸ’–βœ¨

πŸ“¦ where this page comes from