SPI_execp(plan,
values,
nulls,
tcount)
输入
- void *plan
执行规划
- Datum *values
实际参数值
- char *nulls
描述哪个参数获得 NULL 值的数组
'n' indicates NULL allowed |
' ' indicates NULL not allowed |
- int tcount
将被执行的规划的记录数
输出
- int
返回与SPI_exec 一样的值以及
SPI_ERROR_ARGUMENT
如果 plan
是 NULL 或 tcount < 0 ,
返回此值 |
SPI_ERROR_PARAM
如果 values
是 NULL 并且所准备的
plan
带有一些参数. |
- SPI_tuptable
如果成功,则象
SPI_exec 一样初始化
- SPI_processed
如果成功,则象
SPI_exec 一样初始化
描述
SPI_execp
把一个由 SPI_prepare 准备的规划存储在安全存储器中, 以免被 SPI_finish 或事务管理器释放.
目前的 Postgres
版本不能把计划好的规划存储在系统表里并从中获取它们执行.
这个(特性)将在未来的版本中实现.做为绕开的方法,
目前的版本可以在当前会话中随后击活的过程中重新使用准备好的规划.
用 SPI_execp 执行这些保存了的规划.