Github user robertamarton commented on a diff in the pull request:
https://github.com/apache/trafodion/pull/1721#discussion_r225014835
--- Diff: core/sql/optimizer/UdfDllInteraction.cpp ---
@@ -136,6 +137,64 @@ NABoolean
TMUDFDllInteraction::describeParamsAndMaxOutputs(
bindWA->setErrStatus();
return FALSE;
}
+ NAString externalPath, container;
+
+ // If the library is old style (no blob) and it's not a predfined udf
with no entry in metadata
+ // i.e redeftime of library is not -1
+ if( routine->getLibRedefTime() !=-1)
+ {
+ // Cache library locally.
+ NAString dummyUser;
+ NAString libOrJarName;
+ NAString cachedLibName,cachedLibPath;
+ if (routine->getLanguage() == COM_LANGUAGE_JAVA)
+ libOrJarName = routine->getExternalPath();
+ else
+ libOrJarName = routine->getContainerName();
+ if(ComGenerateUdrCachedLibName(libOrJarName.data(),
--- End diff --
This code looks a lot like ExUdr.cpp. Is it similar enough to create a
subprocedure that both can call?
---