Github user zellerh commented on a diff in the pull request:
https://github.com/apache/trafodion/pull/1721#discussion_r221698725
--- 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))
--- End diff --
The user id (or DB__ROOT) should be above the cached_libs directory, so
that all the files for a particular user id are together in a single directory
tree. Also, I don't think we should allow others to write to this directory.
Right now the permission on my system is 755, which seems ok to me. Similar
comments to other places where we give write access to others. I would think
that 755 (S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH) should be ok for all these
directories that get created.
---