[ 
https://issues.apache.org/jira/browse/TRAFODION-3216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16649584#comment-16649584
 ] 

ASF GitHub Bot commented on TRAFODION-3216:
-------------------------------------------

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?


> UDR libraries need to be stored in metadata table as a blob
> -----------------------------------------------------------
>
>                 Key: TRAFODION-3216
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-3216
>             Project: Apache Trafodion
>          Issue Type: Improvement
>          Components: sql-general
>    Affects Versions: 2.4
>            Reporter: Sandhya Sundaresan
>            Assignee: Sandhya Sundaresan
>            Priority: Major
>             Fix For: 2.4
>
>         Attachments: Support for LOB storage in metadata for UDR 
> libraries.docx
>
>
> This is one of many  infrastructure changes for SPJs that was planned. 
>  * {color:#0070c0}Store UDR libraries in BLOBs   {color}
>  * {color:#0070c0}Add BLOB column to library metadata table{color}
>  * {color:#0070c0}Change CREATE LIBRARY command to store library in 
> BLOB{color}
>  * {color:#0070c0}Change library file names to include the timestamp (so 
> updating a library changes the name){color}
>  * {color:#0070c0}Add a cache for libraries (a new directory, 
> $TRAF_HOME/udr/public/lib){color}
>  * {color:#0070c0}Change UDR code to read library from the metadata table 
> when not in cache{color}
>  * {color:#0070c0}Upgrade support{color}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to