目录
SPI_prepare
准备好的语句所需的参数数量SPI_prepare
准备好的一个语句的一个参数返回其数据类型 OIDSPI_prepare
预备好
的语句可以用于SPI_cursor_open
则返回
true
SPI_prepare
预备好的语句SPI_prepare
预备好的语句SPI_prepare
创建的
语句建立一个游标SPI_execute
或者类似函数创建的行集合服务器编程接口(SPI)给予用户定义C函数编写者在其函数内运行SQL命令的能力。SPI是一组接口函数,它们可以简化对解析器、规划器和执行器的访问。SPI也做一些内存管理。
可用的过程语言提供了多种方法从过程中执行 SQL 命令。大部分这些设施都是基于 SPI 的,因此这个文档也对那些语言的用户有用。
为了避免误解,我们在谈及SPI接口函数时使用术语“函数”,而谈及使用SPI的用户定义的 C 函数时使用术语“过程”。
注意如果一个通过 SPI 调用的命令失败,那么控制将不会返回到你的过程中。当然啦,你的过程所在的事务或者子事务将被回滚(这可能看起来令人惊讶,因为据文档所说 SPI 函数大多数都有错误返回约定。但是那些约定只适用于在 SPI 函数本身内部检测到的错误)。通过在可能失败的 SPI 调用周围建立自己的子事务可以在错误之后恢复控制。当前文档中并未记载这些,因为所需的机制仍然在变化中。
SPI成功时返回一个非负结果(要么通过一个返回的整数值,要么如下所述放在全局变量SPI_result
中)。错误时,将会返回一个负结果或者NULL
。
使用 SPI 的源代码文件必须包括头文件executor/spi.h
。