SPI_saveplan
函数名
SPI_saveplan -- 保存一个规划
原型
void * SPI_saveplan(void * plan)
描述
SPI_saveplan
在内存里保存一个传递进来的规划(用 SPI_prepare
准备的),避免它被 SPI_finish
和事务管理器释放,并且返回一个指向保存的规划的指针。这样就给你在当前会话里的随后的调用中复用这个预备规划的能力。
返回值
指向保存的规划的指针;如果不成功则为 NULL 。出错的时候,像下面这样设置 SPI_result :
- SPI_ERROR_ARGUMENT
如果 plan 是 NULL
- SPI_ERROR_UNCONNECTED
如果从一个未连接的过程中调用
注意
如果会话过程中,预备规划引用的一个对象(一个表、函数等等)被删除,那么 SPI_execute_plan
执行此规划的结果将不可预期。