Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-345

AssertionError in RexToLixTranslator comparing to date literal

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.9.0-incubating
    • Component/s: None
    • Labels:
      None

      Description

      Query comparing a DATE column (based on a java.sql.Date in a reflective table) gives the following error.

      Caused by: java.lang.AssertionError: value 0 does not match type class java.sql.Date
      	at net.hydromatic.linq4j.expressions.ConstantExpression.<init>(ConstantExpression.java:47)
      	at net.hydromatic.linq4j.expressions.Expressions.constant(Expressions.java:569)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translateLiteral(RexToLixTranslator.java:509)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translate0(RexToLixTranslator.java:369)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translate(RexToLixTranslator.java:168)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translate0(RexToLixTranslator.java:364)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translate(RexToLixTranslator.java:168)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translate(RexToLixTranslator.java:163)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translateList(RexToLixTranslator.java:562)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translateList(RexToLixTranslator.java:535)
      	at net.hydromatic.optiq.rules.java.RexImpTable.implementCall(RexImpTable.java:666)
      	at net.hydromatic.optiq.rules.java.RexImpTable.implementNullSemantics(RexImpTable.java:656)
      	at net.hydromatic.optiq.rules.java.RexImpTable.implementNullSemantics0(RexImpTable.java:582)
      	at net.hydromatic.optiq.rules.java.RexImpTable.access$800(RexImpTable.java:56)
      	at net.hydromatic.optiq.rules.java.RexImpTable$2.implement(RexImpTable.java:264)
      	at net.hydromatic.optiq.rules.java.RexImpTable$CastOptimizedImplementor.implement(RexImpTable.java:1407)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translateCall(RexToLixTranslator.java:396)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translate0(RexToLixTranslator.java:381)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translate(RexToLixTranslator.java:168)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translate(RexToLixTranslator.java:163)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translateList(RexToLixTranslator.java:562)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translateList(RexToLixTranslator.java:535)
      	at net.hydromatic.optiq.rules.java.RexImpTable.implementCall(RexImpTable.java:666)
      	at net.hydromatic.optiq.rules.java.RexImpTable.implementNullSemantics(RexImpTable.java:633)
      	at net.hydromatic.optiq.rules.java.RexImpTable.implementNullSemantics0(RexImpTable.java:582)
      	at net.hydromatic.optiq.rules.java.RexImpTable.access$800(RexImpTable.java:56)
      	at net.hydromatic.optiq.rules.java.RexImpTable$2.implement(RexImpTable.java:264)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translateCall(RexToLixTranslator.java:396)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translate0(RexToLixTranslator.java:381)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translate(RexToLixTranslator.java:168)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translate0(RexToLixTranslator.java:364)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translate(RexToLixTranslator.java:168)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translate(RexToLixTranslator.java:157)
      	at net.hydromatic.optiq.rules.java.RexToLixTranslator.translateCondition(RexToLixTranslator.java:586)
      	at net.hydromatic.optiq.rules.java.JavaRules$EnumerableCalcRel.implement(JavaRules.java:700)
      	at net.hydromatic.optiq.rules.java.EnumerableRelImplementor.implementRoot(EnumerableRelImplementor.java:65)
      	at net.hydromatic.optiq.prepare.OptiqPrepareImpl$OptiqPreparingStmt.implement(OptiqPrepareImpl.java:754)
      	at net.hydromatic.optiq.prepare.Prepare.prepareSql(Prepare.java:293)
      

        Activity

        Show
        julianhyde Julian Hyde added a comment - Fixed in http://git-wip-us.apache.org/repos/asf/incubator-optiq/commit/aacbeb52 .
        Hide
        julianhyde Julian Hyde added a comment -

        Close issues resolved in release 0.9.0-incubating (2014-08-25).

        Show
        julianhyde Julian Hyde added a comment - Close issues resolved in release 0.9.0-incubating (2014-08-25).

          People

          • Assignee:
            julianhyde Julian Hyde
            Reporter:
            julianhyde Julian Hyde
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development