trafodion-codereview mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sandhyasun <...@git.apache.org>
Subject [GitHub] trafodion pull request #1721: [TRAFODION-3216]UDR libraries need to be store...
Date Wed, 17 Oct 2018 04:33:14 GMT
Github user sandhyasun commented on a diff in the pull request:

    https://github.com/apache/trafodion/pull/1721#discussion_r225778436
  
    --- 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 --
    
    Good idea - added errno to the error message


---

Mime
View raw message