Github user robertamarton commented on a diff in the pull request:

    https://github.com/apache/trafodion/pull/1721#discussion_r225015033
  
    --- Diff: core/sql/sqlcomp/CmpSeabaseDDLroutine.cpp ---
    @@ -1925,3 +2730,568 @@ short 
CmpSeabaseDDL::createSeabaseLibmgrCPPLib(ExeCliInterface * cliInterface)
         }
       return 0;
     }
    +
    +short CmpSeabaseDDL::upgradeLibraries(ExeCliInterface * cliInterface,
    +                                  CmpDDLwithStatusInfo *mdui)
    +{
    +Lng32 cliRC = 0;
    +
    +  while (1) // exit via return stmt in switch
    +    {
    +      switch (mdui->subStep())
    +        {
    +        case 0:
    +          {
    +            mdui->setMsg("Upgrade Libraries: Started");
    +            mdui->subStep()++;
    +            mdui->setEndStep(FALSE);
    +        
    +            return 0;
    +          }
    +          break;
    +      
    +        case 1:
    +          {
    +            mdui->setMsg("  Start: Drop Old Libraries");
    +            mdui->subStep()++;
    +            mdui->setEndStep(FALSE);
    +        
    +            return 0;
    +          }
    +          break;
    +
    +        case 2:
    +          {
    +            // drop old libraries
    +            if (dropLibraries(cliInterface, TRUE/*old */))
    +              return -3;  // error, but no recovery needed 
    +        
    +            mdui->setMsg("  End:   Drop Old Libraries");
    +            mdui->subStep()++;
    +            mdui->setEndStep(FALSE);
    +        
    +            return 0;
    +          }
    +          break;
    +
    +        case 3:
    +          {
    +            mdui->setMsg("  Start: Rename Current Libraries");
    +            mdui->subStep()++;
    +            mdui->setEndStep(FALSE);
    +        
    +            return 0;
    +          }
    +          break;
    +        
    +        case 4:
    +          {
    +            // rename current libraries tables to *_OLD_LIBRARIES
    +            if (alterRenameLibraries(cliInterface, TRUE))
    +              return -2;  // error, need to undo the rename only
    +
    +            mdui->setMsg("  End:   Rename Current Libraries");
    +            mdui->subStep()++;
    +            mdui->setEndStep(FALSE);
    +        
    +            return 0;
    +          }
    +          break;
    +
    +        case 5:
    +          {
    +            mdui->setMsg("  Start: Create New Libraries");
    +            mdui->subStep()++;
    +            mdui->setEndStep(FALSE);
    +        
    +            return 0;
    +          }
    +          break;
    +         
    +        case 6:
    +          {
    +            // create new libraries
    +            if (createLibraries(cliInterface))
    +              return -1;  // error, need to drop new libraies then undo 
rename
    +        
    +            mdui->setMsg("  End:   Create New Libraries");
    +            mdui->subStep()++;
    +            mdui->setEndStep(FALSE);
    +  
    +            return 0;
    +          }
    +          break;
    +
    +        case 7:
    +          {
    +            mdui->setMsg("  Start: Copy Old Libraries Contents ");
    +            mdui->subStep()++;
    +            mdui->setEndStep(FALSE);
    +        
    +            return 0;
    +          }
    +          break;
    +
    +        case 8:
    +          {
    +            // copy old contents into new 
    +           
    +            if (copyOldLibrariesToNew(cliInterface))
    +              {
    +                mdui->setMsg(" Copy Old Libraries failed ! Drop  and 
recreate the following :   ");
    +                //return -1;  // error, need to drop new libraries then 
undo rename
    --- End diff --
    
    Should this be commented out?


---

Reply via email to