[ https://issues.apache.org/jira/browse/CALCITE-2739?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Haisheng Yuan resolved CALCITE-2739. ------------------------------------ Resolution: Fixed Fix Version/s: 1.20.0 Pushed to master https://github.com/apache/calcite/commit/f2869e9ad3864caa4d1678fbefc50389b981f2e6. Thanks for your PR, [~dian.fu]! > NPE will thrown if the DEFINE statement contains IN in MATCH_RECOGNIZE > ---------------------------------------------------------------------- > > Key: CALCITE-2739 > URL: https://issues.apache.org/jira/browse/CALCITE-2739 > Project: Calcite > Issue Type: Bug > Components: core > Reporter: Dian Fu > Priority: Major > Labels: pull-request-available > Fix For: 1.20.0 > > Time Spent: 10m > Remaining Estimate: 0h > > For the following query: > {code:java} > select * > from emp > match_recognize( > partition by job, sal > order by job asc, sal desc, empno > pattern (strt down+ up+) > define > down as down.mgr in (0, 1), > up as up.mgr > prev(up.mgr) > ) as mr"; > {code} > the following exception will be thrown: > {code:java} > java.lang.NullPointerException > at java.util.Objects.requireNonNull(Objects.java:203) > at > org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.convertExpression(SqlToRelConverter.java:4495) > at > org.apache.calcite.sql2rel.StandardConvertletTable.lambda$new$9(StandardConvertletTable.java:204) > at > org.apache.calcite.sql2rel.SqlNodeToRexConverterImpl.convertCall(SqlNodeToRexConverterImpl.java:63) > at > org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:4673) > at > org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:3978) > at org.apache.calcite.sql.SqlCall.accept(SqlCall.java:138) > at > org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.convertExpression(SqlToRelConverter.java:4542) > at > org.apache.calcite.sql2rel.SqlToRelConverter.convertMatchRecognize(SqlToRelConverter.java:2261) > at > org.apache.calcite.sql2rel.SqlToRelConverter.convertFrom(SqlToRelConverter.java:1954) > at > org.apache.calcite.sql2rel.SqlToRelConverter.convertFrom(SqlToRelConverter.java:1959) > at > org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:644) > at > org.apache.calcite.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:625) > at > org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:3065) > at > org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:561) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)