46.4. 事务管理
- — commit the current transaction
- — abort the current transaction
不能通过SPI_execute这样的SPI函数运行COMMIT和ROLLBACK之类的事务控制命令。不过,也有单独的接口函数允许通过SPI进行事务控制。
如果不考虑被调用的上下文,在任意的用户定义的可从SQL调用的函数中开始以及结束事务通常并不是安全和明智的。例如,一个事务位于一个函数内,而该函数是某个SQL命令中的一个复杂SQL表达式的一部分,这样的事务有可能会导致隐蔽的内部错误或者崩溃。这里介绍的接口函数的主要目的是被过程语言的实现用于支持在CALL命令调用的SQL层过程中进行事务管理,同时把CALL调用的上下文也加以考虑。用C实现的使用SPI的过程可以实现同样的逻辑,但是其细节超出了这份文档的范围。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




