↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 7.3 / 7.2 / 7.1 / 7.0 / 6.5 / 6.4
历史版本PostgreSQL 7.2 已于 2007 年 2 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

SPI_finish

SPI_finish — 将你的过程与 SPI 管理器断开连接。

大纲

SPI_finish(void)

输入

无

输出

int
→ SPI_OK_FINISH 已正确断开连接时
→ SPI_ERROR_UNCONNECTED 从未连接的过程中调用时

描述

SPI_finish 关闭到 SPI 管理器的现有连接。 在过程的本次调用期间完成所需的 SPI 操作之后,必须调用此函数。

如果在当前没有有效连接的情况下调用 SPI_finish, 可能会得到错误返回 → SPI_ERROR_UNCONNECTED。 这并不是什么根本性的问题;它只表示 SPI 管理器没有做任何事情。

用法

已连接的过程必须以调用 SPI_finish 作为最后一步,否则可能得到不可预 测的结果!不过,如果事务是通过 elog(ERROR) 中止的,则不必担心这一 点。在这种情况下,SPI 会自行清理。

算法

SPI_finish 执行以下操作: 将你的过程与 SPI 管理器断开连接,并释放该过程自 SPI_connect 以来通过 palloc 所做的全部内存分配。这些分配不能再使用了!参见内存管理一节。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。