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)

Reply via email to