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

    https://github.com/apache/trafodion/pull/1721#discussion_r225015086
  
    --- Diff: core/sql/sqlcomp/CmpSeabaseDDLtable.cpp ---
    @@ -5619,8 +5620,80 @@ void CmpSeabaseDDL::alterSeabaseTableAddColumn(
           processReturn();
           return;
          }
    -  char * col_name = new(STMTHEAP) char[colName.length() + 1];
    +  */
    +  char *col_name = new(STMTHEAP) char[colName.length() + 1];
       strcpy(col_name, (char*)colName.data());
    + if ((datatype == REC_BLOB) ||
    +          (datatype == REC_CLOB))
    +   {
    + 
    +     short *lobNumList = new (STMTHEAP) short;
    +     short *lobTypList = new (STMTHEAP) short;
    +     char  **lobLocList = new (STMTHEAP) char*[1];
    +     char **lobColNameList = new (STMTHEAP) char*[1];
    +    
    +     Int64 lobMaxSize =  
CmpCommon::getDefaultNumeric(LOB_MAX_SIZE)*1024*1024;
    +    
    +    
    +
    +     lobNumList[0] = nacolArr.entries();
    +     lobTypList[0] = (short)(pColDef->getLobStorage());
    +     char * loc = new (STMTHEAP) char[1024];
    +     
    +     const char* f = ActiveSchemaDB()->getDefaults().
    +       getValue(LOB_STORAGE_FILE_DIR);
    +     
    +     strcpy(loc, f);
    +     
    +     lobLocList[0] = loc;
    +     lobColNameList[0] = col_name;
    +     char  lobHdfsServer[256] ; // max length determined by 
dfs.namenode.fs-limits.max-component-length(255)
    +     memset(lobHdfsServer,0,256);
    +     
strncpy(lobHdfsServer,CmpCommon::getDefaultString(LOB_HDFS_SERVER),sizeof(lobHdfsServer)-1);
    +     Int32 lobHdfsPort = 
(Lng32)CmpCommon::getDefaultNumeric(LOB_HDFS_PORT);
    +      Int32 rc = sendAllControls(FALSE, FALSE, TRUE);
    +      
    +      Int64 objUID = getObjectUID(&cliInterface,
    +                                  catalogNamePart.data(), 
schemaNamePart.data(), 
    +                                  objectNamePart.data(),
    +                                  COM_BASE_TABLE_OBJECT_LIT);
    +      
    --- End diff --
    
    Is it possible that an invalid objectUID is returned?  For example, an 
error occurred reading OBJECT table.  What would happen if objectUID = -1?


---

Reply via email to