接口函数
-
SPI_connect -- 连接一个过程到 SPI 管理器
-
SPI_finish -- 将一个过程从 SPI 管理器断开
-
SPI_push -- 下推 SPI 栈以允许递归的 SPI 使用
-
SPI_pop -- 从 SPI 栈弹出以从递归的 SPI 使用中返回
-
SPI_execute -- 执行一个命令
-
SPI_exec -- 执行一个读/写命令
-
SPI_execute_with_args -- 用线外参数执行一个命令
-
SPI_prepare -- 准备一个语句,但不执行它
-
SPI_prepare_cursor -- 预备一个语句,但是不执行它
-
SPI_prepare_params -- 预备一个语句,但是不执行它
-
SPI_getargcount -- 返回一个由
SPI_prepare
准备好的语句所需的参数数量
-
SPI_getargtypeid -- 为由
SPI_prepare
准备好的一个语句的一个参数返回其数据类型 OID
-
SPI_is_cursor_plan -- 如果一个由
SPI_prepare
预备好
的语句可以用于SPI_cursor_open
则返回
true
-
SPI_execute_plan -- 执行一个由
SPI_prepare
预备好的语句
-
SPI_execute_plan_with_paramlist -- 执行一个由
SPI_prepare
预备好的语句
-
SPI_execp -- 以读/写模式执行一个语句
-
SPI_cursor_open -- 使用由
SPI_prepare
创建的
语句建立一个游标
-
SPI_cursor_open_with_args -- 使用一个查询和参数建立一个游标
-
SPI_cursor_open_with_paramlist -- 使用参数建立一个游标
-
SPI_cursor_find -- 用名称查找一个现有的游标
-
SPI_cursor_fetch -- 从一个游标取出一些行
-
SPI_cursor_move -- 移动一个游标
-
SPI_scroll_cursor_fetch -- 从一个游标取出一些行
-
SPI_scroll_cursor_move -- 移动一个游标
-
SPI_cursor_close -- 关闭一个游标
-
SPI_keepplan -- 保存一个预备语句
-
SPI_saveplan -- 保存一个预备语句
45.2. 接口支持函数
-
SPI_fname -- 为指定的列号确定列名
-
SPI_fnumber -- 为一个指定的列名确定列号
-
SPI_getvalue -- 返回指定列的字符串值
-
SPI_getbinval -- 返回指定列的二进制值
-
SPI_gettype -- 返回指定列的数据类型名称
-
SPI_gettypeid -- 返回指定列的数据类型的SPI_getrelname -- 返回指定关系的名称
-
SPI_getnspname -- 返回指定关系的名字空间
45.3. 内存管理
-
SPI_palloc -- 在上层执行器上下文中分配内存
-
SPI_repalloc -- 在上层执行器上下文中重分配内存
-
SPI_pfree -- 在上层执行器上下文中释放内存
-
SPI_copytuple -- 在上层执行器上下文中创建一行的拷贝
-
SPI_returntuple -- 准备把一个元组返回为一个 Datum
-
SPI_modifytuple -- 通过替换一个给定行的选定域来创建一行
-
SPI_freetuple -- 释放一个在上层执行器上下文中分配的行
-
SPI_freetuptable -- 释放一个由
SPI_execute
或者类似函数创建的行集合
-
SPI_freeplan -- 释放一个之前保存的预备语句
45.4. 数据改变的可见性
45.5. 例子
- SPI_connect -- 连接一个过程到 SPI 管理器
- SPI_finish -- 将一个过程从 SPI 管理器断开
- SPI_push -- 下推 SPI 栈以允许递归的 SPI 使用
- SPI_pop -- 从 SPI 栈弹出以从递归的 SPI 使用中返回
- SPI_execute -- 执行一个命令
- SPI_exec -- 执行一个读/写命令
- SPI_execute_with_args -- 用线外参数执行一个命令
- SPI_prepare -- 准备一个语句,但不执行它
- SPI_prepare_cursor -- 预备一个语句,但是不执行它
- SPI_prepare_params -- 预备一个语句,但是不执行它
-
SPI_getargcount -- 返回一个由
SPI_prepare
准备好的语句所需的参数数量 -
SPI_getargtypeid -- 为由
SPI_prepare
准备好的一个语句的一个参数返回其数据类型 OID -
SPI_is_cursor_plan -- 如果一个由
SPI_prepare
预备好 的语句可以用于SPI_cursor_open
则返回 true -
SPI_execute_plan -- 执行一个由
SPI_prepare
预备好的语句 -
SPI_execute_plan_with_paramlist -- 执行一个由
SPI_prepare
预备好的语句 - SPI_execp -- 以读/写模式执行一个语句
-
SPI_cursor_open -- 使用由
SPI_prepare
创建的 语句建立一个游标 - SPI_cursor_open_with_args -- 使用一个查询和参数建立一个游标
- SPI_cursor_open_with_paramlist -- 使用参数建立一个游标
- SPI_cursor_find -- 用名称查找一个现有的游标
- SPI_cursor_fetch -- 从一个游标取出一些行
- SPI_cursor_move -- 移动一个游标
- SPI_scroll_cursor_fetch -- 从一个游标取出一些行
- SPI_scroll_cursor_move -- 移动一个游标
- SPI_cursor_close -- 关闭一个游标
- SPI_keepplan -- 保存一个预备语句
- SPI_saveplan -- 保存一个预备语句
- SPI_fname -- 为指定的列号确定列名
- SPI_fnumber -- 为一个指定的列名确定列号
- SPI_getvalue -- 返回指定列的字符串值
- SPI_getbinval -- 返回指定列的二进制值
- SPI_gettype -- 返回指定列的数据类型名称
- SPI_gettypeid -- 返回指定列的数据类型的SPI_getrelname -- 返回指定关系的名称
- SPI_getnspname -- 返回指定关系的名字空间
- SPI_palloc -- 在上层执行器上下文中分配内存
- SPI_repalloc -- 在上层执行器上下文中重分配内存
- SPI_pfree -- 在上层执行器上下文中释放内存
- SPI_copytuple -- 在上层执行器上下文中创建一行的拷贝
- SPI_returntuple -- 准备把一个元组返回为一个 Datum
- SPI_modifytuple -- 通过替换一个给定行的选定域来创建一行
- SPI_freetuple -- 释放一个在上层执行器上下文中分配的行
-
SPI_freetuptable -- 释放一个由
SPI_execute
或者类似函数创建的行集合 - SPI_freeplan -- 释放一个之前保存的预备语句