@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 `getAllFunctionHoldersByJars` (name can be changed).   
Then in `LocalFunctionRegistry` add delegating method:
```
 public ListMultimap<String, DrillFuncHolder> getAllFunctionHoldersByJars() {
   return registryHolder.getAllFunctionHoldersByJars();
 }
```
Then in `FunctionImplementationRegistry` add the following method:
```
public ListMultimap<String, DrillFuncHolder> getAllFunctionHoldersByJars() {
   if (useDynamicUdfs) {
     syncWithRemoteRegistry(localFunctionRegistry.getVersion());
   }
   return localFunctionRegistry.getAllFunctionHoldersByJars();
 }
```
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