Github user zellerh commented on a diff in the pull request:
https://github.com/apache/trafodion/pull/1721#discussion_r221699218
--- 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
--- End diff --
We probably also need to add a chown command to give this directory to the
other user. That can be done later, when we add those users.
---