You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Thomas D'Silva (Jira)" <ji...@apache.org> on 2022/02/11 21:58:00 UTC

[jira] [Created] (CALCITE-5010) Modify RexBuilder to use convertlets to transform the RexCall when possible

Thomas D'Silva created CALCITE-5010:
---------------------------------------

             Summary: Modify RexBuilder to use convertlets to transform the RexCall when possible
                 Key: CALCITE-5010
                 URL: https://issues.apache.org/jira/browse/CALCITE-5010
             Project: Calcite
          Issue Type: Improvement
          Components: core
            Reporter: Thomas D'Silva


SqlRexConvertlets are used to transform a SqlCall into a RexCall while parsing a sql string. A RelNode that is created using RelBuilder does not use the same transformations. This causes the following error while trying to use RelBuilder to create a relnode that useĀ  {{{}TIMESTAMPDIFF(){}}}.
{code:java}
Suppressed: java.lang.RuntimeException: cannot translate call TIMESTAMPDIFF($t8, $t4, $t9)
at org.apache.calcite.adapter.enumerable.RexToLixTranslator.visitCall(RexToLixTranslator.java:1157)
at org.apache.calcite.adapter.enumerable.RexToLixTranslator.visitCall(RexToLixTranslator.java:98)
{code}
Modify RexBuilder to check if there is a convertlet that exists for the operator being constructed and transform the RexCall using the convertlet.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)