You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Yu Xu (Jira)" <ji...@apache.org> on 2025/05/14 04:10:00 UTC

[jira] [Created] (CALCITE-7014) Support EQUAL/GreaterThanOrEqual/LessThanOrEqual expressions to RexNode In CalcitePrepare

Yu Xu created CALCITE-7014:
------------------------------

             Summary: 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
             Fix For: 1.40.0


Currently CalcitePrepare can not support convert Equal/GreaterThanOrEqual/LessThanOrEqua expression to RexNode, when can related JDBC query would error out:
{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)