[
https://issues.apache.org/jira/browse/CALCITE-7014?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mihai Budiu resolved CALCITE-7014.
----------------------------------
Resolution: Fixed
Fixed in
https://github.com/apache/calcite/commit/0748e44459809b5ddb86b32600523e2a57f35e43
Thank you for the contribution [~xuzifu666]
> Support EQUAL/GreaterThanOrEqual/LessThanOrEqual expressions to RexNode in
> CalcitePrepare
> -----------------------------------------------------------------------------------------
>
> Key: CALCITE-7014
> URL: https://issues.apache.org/jira/browse/CALCITE-7014
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Affects Versions: 1.39.0
> Reporter: Yu Xu
> Assignee: Yu Xu
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.40.0
>
>
> Currently CalcitePrepare can not support convert
> Equal/GreaterThanOrEqual/LessThanOrEqua expression to RexNode, related JDBC
> query would error out when use these operators:
> {code:java}
> unknown expression type Equal e.empid == 150
> java.lang.UnsupportedOperationException: unknown expression type Equal
> e.empid == 150
> at
> org.apache.calcite.prepare.CalcitePrepareImpl$EmptyScalarTranslator.toRex(CalcitePrepareImpl.java:1379)
> at
> org.apache.calcite.prepare.CalcitePrepareImpl$EmptyScalarTranslator.toRex(CalcitePrepareImpl.java:1302)
> at
> org.apache.calcite.prepare.LixToRelTranslator.toRex(LixToRelTranslator.java:208)
> at
> org.apache.calcite.prepare.QueryableRelBuilder.where(QueryableRelBuilder.java:760)
> at
> org.apache.calcite.linq4j.QueryableRecorder$99.replay(QueryableRecorder.java:1016)
> at
> org.apache.calcite.prepare.QueryableRelBuilder.toRel(QueryableRelBuilder.java:98)
> {code}
> {code:java}
> unknown expression type GreaterThanOrEqual e.empid >= 150
> java.lang.UnsupportedOperationException: unknown expression type
> GreaterThanOrEqual e.empid >= 150
> at
> org.apache.calcite.prepare.CalcitePrepareImpl$EmptyScalarTranslator.toRex(CalcitePrepareImpl.java:1379)
>
> at
> org.apache.calcite.prepare.CalcitePrepareImpl$EmptyScalarTranslator.toRex(CalcitePrepareImpl.java:1302)
>
> at
> org.apache.calcite.prepare.LixToRelTranslator.toRex(LixToRelTranslator.java:208)
>
> at
> org.apache.calcite.prepare.QueryableRelBuilder.where(QueryableRelBuilder.java:760)
>
> at
> org.apache.calcite.linq4j.QueryableRecorder$99.replay(QueryableRecorder.java:1016)
>
> at
> org.apache.calcite.prepare.QueryableRelBuilder.toRel(QueryableRelBuilder.java:98)
> {code}
> {code:java}
> unknown expression type LessThanOrEqual e.empid <= 150
> java.lang.UnsupportedOperationException: unknown expression type
> GreaterThanOrEqual e.empid >= 150
> at
> org.apache.calcite.prepare.CalcitePrepareImpl$EmptyScalarTranslator.toRex(CalcitePrepareImpl.java:1379)
> at
> org.apache.calcite.prepare.CalcitePrepareImpl$EmptyScalarTranslator.toRex(CalcitePrepareImpl.java:1302)
> at
> org.apache.calcite.prepare.LixToRelTranslator.toRex(LixToRelTranslator.java:208)
> at
> org.apache.calcite.prepare.QueryableRelBuilder.where(QueryableRelBuilder.java:760)
> at
> org.apache.calcite.linq4j.QueryableRecorder$99.replay(QueryableRecorder.java:1016)
> at
> org.apache.calcite.prepare.QueryableRelBuilder.toRel(QueryableRelBuilder.java:98)
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)