Github user robertamarton commented on a diff in the pull request:
https://github.com/apache/trafodion/pull/1721#discussion_r225015127
--- Diff: core/sql/sqlcomp/CmpSeabaseDDLupgrade.cpp ---
@@ -1901,7 +1985,50 @@ short
CmpSeabaseMDupgrade::executeSeabaseMDupgrade(CmpDDLwithStatusInfo *mdui,
}
}
break;
+ case UPGRADE_FAILED_RESTORE_OLD_LIBRARIES:
+ {
+ // Note: We can't combine this case with UPGRADE_FAILED etc.
+ // below, because the subsystem code uses mdui->subStep()
+ // to keep track of its progress.
+
+ if (upgradeLibraries.needsUpgrade(this))
+ {
+ if (xnInProgress(&cliInterface))
+ {
+ cliRC = rollbackXn(&cliInterface);
+ if (cliRC < 0)
+ {
+ // ignore errors
+ }
+ }
+ if (upgradeLibraries.doUndo(&cliInterface,mdui,this))
+ {
+ // ignore errors; no status message so just continue on
+ cliInterface.clearGlobalDiags();
+ mdui->setStep(OLD_REPOS_DROP);
+ mdui->setSubstep(0);
+ mdui->setEndStep(TRUE);
--- End diff --
again, if we can't undo, what happens?
---