Github user vkorukanti commented on a diff in the pull request: https://github.com/apache/drill/pull/462#discussion_r59943901 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/common/HashTableConfig.java --- @@ -22,25 +22,36 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeName; +import org.apache.drill.exec.physical.impl.join.JoinUtils.JoinComparator; @JsonTypeName("hashtable-config") public class HashTableConfig { - static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(HashTableConfig.class); - private final int initialCapacity; private final float loadFactor; private final NamedExpression[] keyExprsBuild; private final NamedExpression[] keyExprsProbe; + private final JoinComparator[] comparators; @JsonCreator public HashTableConfig(@JsonProperty("initialCapacity") int initialCapacity, @JsonProperty("loadFactor") float loadFactor, @JsonProperty("keyExprsBuild") NamedExpression[] keyExprsBuild, - @JsonProperty("keyExprsProbe") NamedExpression[] keyExprsProbe) { + @JsonProperty("keyExprsProbe") NamedExpression[] keyExprsProbe, + @JsonProperty("comparators") JoinComparator[] comparators) { this.initialCapacity = initialCapacity; this.loadFactor = loadFactor; this.keyExprsBuild = keyExprsBuild; this.keyExprsProbe = keyExprsProbe; + if (comparators != null) { + this.comparators = comparators; + } else { + // default is nulls are equal --- End diff -- Agree, it is clean to remove passing null and explicitly pass a value to comparator. Updated patch. Also renamed join.JoinComparator to common.Comparator.
--- 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 infrastruct...@apache.org or file a JIRA ticket with INFRA. ---