File tree 1 file changed +9
-0
lines changed
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)
1401
1401
1402
1402
DDLApplyInProgress = transactional ? MTM_DDL_IN_PROGRESS_TX :
1403
1403
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 ());
1404
1412
SPI_connect ();
1405
1413
rc = SPI_execute (messageBody , false, 0 );
1406
1414
SPI_finish ();
1415
+ PopActiveSnapshot ();
1407
1416
1408
1417
if (rc < 0 )
1409
1418
elog (ERROR , "Failed to execute utility statement %s" , messageBody );
You can’t perform that action at this time.
0 commit comments