[ https://issues.apache.org/jira/browse/CALCITE-3667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17007787#comment-17007787 ]
Julian Hyde commented on CALCITE-3667: -------------------------------------- This change would change the complexity of the algorithm from {{O(m + n)}} to {{O(m * n)}}. Bad idea. > EnumerableMergeJoin should not use take-while enumerator > --------------------------------------------------------- > > Key: CALCITE-3667 > URL: https://issues.apache.org/jira/browse/CALCITE-3667 > Project: Calcite > Issue Type: Improvement > Reporter: Jin Xing > Assignee: Jin Xing > Priority: Major > Labels: pull-request-available > Time Spent: 40m > Remaining Estimate: 0h > > Currently EnumerableMergeJoin use take-while enumerator [1] to emit values > satisfy predicate. However take-while enumerator stops the enumeration at > once when predicate is failed, which is not correct and we should finish the > enumeration and extract all the qualified values. > [1] > https://github.com/apache/calcite/blob/master/linq4j/src/main/java/org/apache/calcite/linq4j/EnumerableDefaults.java#L3896 -- This message was sent by Atlassian Jira (v8.3.4#803005)