SPI_saveplan

Name

SPI_saveplan -- 保存一个规划

Synopsis

void * SPI_saveplan(void * plan)

描述

SPI_saveplan 在内存里保存一个传递进来的规划(用 SPI_prepare 准备的), 避免它被 SPI_finish 和事务管理器释放,并且返回一个指向保存的规划的指针。 这样就给你在当前绘画里的随后的调用中复用这个准备好的规划的能力。 你可以在一个局部变量里保存这个指针。在准备一个规划或者在 SPI_execute_plan 里使用一个已经准备好的规划的时候, 一定要检查这个指针是否为 NULL

参数

void * plan

要保存的规划

返回值

指向保存的规划的指针;如果不成功则为 NULL。 出错的时候,像下面这样设置 SPI_result

SPI_ERROR_ARGUMENT

如果 planNULL

SPI_ERROR_UNCONNECTED

如果从一个未连接的过程中调用

注意

如果会话过程中,准备好的规划引用的一个对象(一个表,函数,等等)被删除, 那么 SPI_execute_plan 执行此规划的结果将不可预期。