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

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_r225014769
  
    --- Diff: core/sql/executor/ExExeUtilLoad.cpp ---
    @@ -3288,6 +3288,45 @@ short ExExeUtilLobExtractTcb::work()
       return 0;
     }
     
    +
    +short ExExeUtilLobExtractLibrary(ExeCliInterface *cliInterface,char 
*libHandle, char *cachedLibName,ComDiagsArea *toDiags)
    +{
    +  char buf[1000];
    +  Int32 cliRC =0;
    +  str_sprintf(buf, "extract lobtofile(LOB 
'%s','%s');",libHandle,cachedLibName);
    +               
    +
    +  cliRC = cliInterface->fetchRowsPrologue(buf, TRUE/*no exec*/);
    +  if (cliRC < 0)
    +    {
    +      cliInterface->retrieveSQLDiagnostics(toDiags);
    +      return cliRC;
    +    }
    +
    +  cliRC = cliInterface->clearExecFetchClose(NULL, 0);
    +  if (cliRC < 0)
    +    {
    +      cliInterface->retrieveSQLDiagnostics(toDiags);
    +      //Ignore error if the target file exists. This could be because the 
cached
    +      // file already got created by another process at the same time. So 
we can ignore
    +      // the error and use the already cached file.
    +      ComCondition *cond = NULL;
    +      Int32 entryNumber;
    +      cond = toDiags->findCondition(-EXE_ERROR_FROM_LOB_INTERFACE, 
&entryNumber);
    --- End diff --
    
    Could you get more than one error in diags when the target file exists?  
Instead of just removing the error in question, you could mark the diags area 
before the call and then rewind if the target exists.


> 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