SPI_FREETUPLE(3)

✨ NAME ✨

SPI_freetuple β€” bestie, this is the one that frees a row that was allocated up in the upper executor context πŸ’…


🌸 SYNOPSIS 🌸

void SPI_freetuple(HeapTuple row)

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so listen 🫢 β€” SPI_freetuple frees a row that you previously allocated in the upper executor context. That's it. That's the whole job. Cleanup era. ✨

And here's the tea, no cap: this function is no longer different from plain heap_freetuple. Like, they're literally the same thing now. 😭 The only reason SPI_freetuple is still here is for backward compatibility with existing code β€” so all the old code out there can keep vibing without breaking. It's giving legacy icon, fr fr πŸ‘‘

Heads up, bestie: if you're writing something brand new, you already know what the move is β€” but if you've got old code that calls SPI_freetuple, it still works, and that's the point. πŸ’–

πŸŽ€ ARGUMENTS πŸŽ€

  • HeapTuple row β€” the row you wanna free 🧚 that's it, that's the whole argument, she's lowkey low-maintenance

So yeah β€” you allocated a row up in the upper executor context, and now you're done with it, and this function is how you let it go. Free it, slay, move on. 🌈

This little page came from the PostgreSQL 18.6 Documentation, dated 2026 β€” and it's the SPI_FREETUPLE(3) manual page, periodt. πŸ’œ Go free your tuples responsibly, bestie, and remember: even the deprecated girlies deserve love. πŸŽ€πŸ¦‹βœ¨