!823 禁止cursor调用含有commit/rollback的函数或者存储过程

Merge pull request !823 from Ricardo_Cui/master
This commit is contained in:
opengauss-bot
2021-03-16 19:26:23 +08:00
committed by Gitee

View File

@ -187,9 +187,14 @@ void PerformPortalFetch(FetchStmt* stmt, DestReceiver* dest, char* completionTag
if (stmt->ismove)
dest = None_Receiver;
bool savedIsAllowCommitRollback;
bool needResetErrMsg = stp_disable_xact_and_set_err_msg(&savedIsAllowCommitRollback, STP_XACT_OPEN_FOR);
/* Do it */
nprocessed = PortalRunFetch(portal, stmt->direction, stmt->howMany, dest);
stp_reset_xact_state_and_err_msg(savedIsAllowCommitRollback, needResetErrMsg);
/* Return command status if wanted */
if (completionTag != NULL) {
int rc = snprintf_s(completionTag,