@kkhatua 
To avoid this unpleasant parsing I would suggest you add method to 
`FunctionRegistryHolder` which would return `ListMultimap<String, 
DrillFuncHolder>`, where key would be jar_name, value would be list of function 
holders. Let's call it `getAllFunctionsByJars` (name can be changed).   Then in 
`LocalFunctionRegistry` add delegating method:
```
 public ListMultimap<String, DrillFuncHolder> getAllFunctionsByJars() {
   return registryHolder.getAllFunctionsByJars();
 }
```
Then in `FunctionImplementationRegistry` add the following method:
```
public ListMultimap<String, DrillFuncHolder> getAllFunctionsByJars() {
   if (useDynamicUdfs) {
     syncWithRemoteRegistry(localFunctionRegistry.getVersion());
   }
   return localFunctionRegistry.getAllFunctionsByJars();
 }
```
The above you would get you full list of built-in and remote functions
Unit test can be added to `FunctionRegistryHolderTest` for the new method.

[ Full content available at: https://github.com/apache/drill/pull/1483 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to