!823 禁止cursor调用含有commit/rollback的函数或者存储过程
Merge pull request !823 from Ricardo_Cui/master
This commit is contained in:
@ -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,
|
||||
|
Reference in New Issue
Block a user