drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From paul-rogers <...@git.apache.org>
Subject [GitHub] drill pull request #574: DRILL-4726: Dynamic UDFs support
Date Tue, 06 Sep 2016 19:06:06 GMT
Github user paul-rogers commented on a diff in the pull request:

    --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFunctionRegistry.java
    @@ -218,4 +302,141 @@ private void registerOperatorsWithoutInference(DrillOperatorTable
    +  /**
    +   * Function registry holder. Stores function implementations by jar name, function
    +   */
    +  private class GenericRegistryHolder<T, U> {
    +    private final ReadWriteLock readWriteLock = new ReentrantReadWriteLock();
    +    private final AutoCloseableLock readLock = new AutoCloseableLock(readWriteLock.readLock());
    +    private final AutoCloseableLock writeLock = new AutoCloseableLock(readWriteLock.writeLock());
    +    // jar name, Map<function name, List<signature>
    +    private final Map<T, Map<T, List<T>>> jars;
    +    // function name, Map<signature, function holder>
    --- End diff --
    T appears to be a String. functions is a map of signature to map of Strings to FuncHolders.
This is crying out for an explanation. How is the signature represented? Classic Java encoding?
Something else? What does the Map hold? What is the key in the inner map? Function name? Jar
name? Meaning will become clear by studying the code, but much time could be saved by explaining
the structure in a comment.

If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.

View raw message