# SPI_保存计划

SPI_saveplan — 保存准备好的语句

# 概要

SPIPlanPtr SPI_saveplan(SPIPlanPtr plan)

# 描述

SPI_saveplan复制一份通过的声明(由SPI_prepare) 到不会被释放的内存中SPI_完成也不是由事务管理器,并返回一个指向复制语句的指针。这使您能够在当前会话中的 C 函数的后续调用中重用准备好的语句。

# 论据

SPIPlanPtr *计划*

要保存的准备好的语句

# 返回值

指向复制语句的指针;要么空值如果不成功。出错时,SPI_结果是这样设置的:

SPI_ERROR_ARGUMENT

如果*计划*是空值或无效

SPI_ERROR_UNCONNECTED

如果从未连接的 C 函数调用

# 笔记

最初传入的语句没有被释放,所以你可能希望这样做SPI_freeplan在它上面以避免泄漏内存,直到SPI_完成.

在大多数情况下,SPI_keepplan比这个函数更受欢迎,因为它在不需要物理复制准备好的语句的数据结构的情况下实现了大致相同的结果。