pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
SPI_execp(plan,values,nulls,tcount)
plan执行计划
values实际参数值
nulls描述哪些参数取 NULL 的数组
| 'n' 表示允许 NULL |
| ' ' 表示不允许 NULL |
tcount该计划将要执行的元组数
返回与 SPI_exec 相同的值,以及
→ SPI_ERROR_ARGUMENT plan 为 NULL 或 tcount < 0 时 |
→ SPI_ERROR_PARAM values 为 NULL,而 plan 在准备时带有参数时。 |
成功时,其初始化方式与 SPI_exec 中相同
成功时,其初始化方式与 SPI_exec 中相同
SPI_execp 把由 SPI_prepare 准备的计划存储在安全内存中, 使其不会被 SPI_finish 或事务管理器释放。
在当前版本的 Postgres 中,还无法把预备 计划存储在系统目录中并在执行时从那里取出。这一点将在未来的版本中 实现。 作为权宜之计,可以在当前会话中该过程的后续调用里复用预备计划。 使用 SPI_execp 执行这个保存的计划。
如果 nulls 为 NULL,则 SPI_execp 假定所有值(如果有的话)都非 NULL。
如果预备计划所引用的对象(关系、函数等)在会话期间被删除(由你的 后端或另一个进程删除),那么对该计划执行 SPI_execp 的结果将是不可预知的。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。