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

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_r225014714
  
    --- Diff: core/sql/common/ComMisc.cpp ---
    @@ -357,3 +358,119 @@ NABoolean ComTrafReservedColName(
     
       return FALSE;
     }
    +
    +
    +Int32  ComGenerateUdrCachedLibName(NAString libname,Int64 redeftime, 
NAString schemaName, NAString userid, NAString &cachedLibName, NAString 
&cachedLibPath)
    +{
    +  NAString libPrefix, libSuffix;
    +  struct stat statbuf;
    +  NAString redefTimeString = Int64ToNAString(redeftime);
    +  size_t lastDot = libname.last('.');
    +  if (lastDot != NA_NPOS)
    +    {
    +      libSuffix = libname(lastDot,libname.length()-lastDot);
    +      libPrefix = libname(0,lastDot);
    +    }
    + 
    +  //when isolated user support is added   
    +  if (userid.length()!=0)       
    +    {
    +
    +      cachedLibPath = getenv("TRAF_HOME") ;
    +      cachedLibPath += "/udr";
    +      if ( stat(cachedLibPath, &statbuf) != 0)
    +         {
    +           if (mkdir(cachedLibPath,S_IRWXU|S_IRWXG|S_IRWXO))
    +             {
    +               return -1;
    +             }
    +               
    +         }
    +      cachedLibPath += "/";
    +      cachedLibPath += getenv("MY_UDR_CACHE_LIBDIR");
    +      if ( stat(cachedLibPath, &statbuf) != 0)
    +         {
    +           if (mkdir(cachedLibPath,S_IRWXU|S_IRWXG|S_IRWXO))
    +             {
    +               return -1;
    +             }
    +               
    +         }
    +      cachedLibPath +=  "/"+ userid ;
    +      if (stat(cachedLibPath, &statbuf) != 0)
    +        {
    +          if (mkdir(cachedLibPath,S_IRUSR|S_IWUSR|S_IXUSR))//Only this 
user has 
    +            //permission to read/write/execute in this directory and below.
    +            {
    +              return -1;
    +            }
    +               
    +        }
    +      cachedLibPath += "/" + schemaName;
    +      if ( stat(cachedLibPath, &statbuf) != 0)
    +         {
    +           if (mkdir(cachedLibPath,S_IRWXU|S_IRWXG|S_IRWXO))
    +             {
    +               return -1;
    --- End diff --
    
    Is it possible to retrieve the actually error on why mkdir failed?  If so, 
we could return this and make error 4316 more meaningful.  Could return an 
additional parameter that returns error details, for example:  Error occurred 
while extracting library to local cache : unable to mkdir <directory name>, 
error xx


> 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