File tree Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Original file line number Diff line number Diff line change @@ -1401,9 +1401,18 @@ MtmApplyDDLMessage(const char *messageBody, bool transactional)
14011401
14021402 DDLApplyInProgress = transactional ? MTM_DDL_IN_PROGRESS_TX :
14031403 MTM_DDL_IN_PROGRESS_NONTX ;
1404+
1405+ /*
1406+ * Due to ef94805096 'Restore the portal-level snapshot after procedure COMMIT/ROLLBACK.'
1407+ * there should be ActiveSnapshot set. Otherwise EnsurePortalSnapshotExists
1408+ * will assert on ActivePortal->portalSnapshot == NULL since current
1409+ * portal has snapshot in outer transaction.
1410+ */
1411+ PushActiveSnapshot (GetTransactionSnapshot ());
14041412 SPI_connect ();
14051413 rc = SPI_execute (messageBody , false, 0 );
14061414 SPI_finish ();
1415+ PopActiveSnapshot ();
14071416
14081417 if (rc < 0 )
14091418 elog (ERROR , "Failed to execute utility statement %s" , messageBody );
You can’t perform that action at this time.
0 commit comments