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?
---