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

EXTRACT is not implemented for JDBC

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.14.0
    • 1.15.0
    • core
    • None

    Description

      The following test fails with exception being added to JdbcTest:

        @Test public void testExtractMonthFromTimestamp() {
          CalciteAssert.that()
              .with(CalciteAssert.Config.JDBC_FOODMART)
              .query("select extract(month from \"birth_date\") as c \n"
                  + "from \"foodmart\".\"employee\" where \"employee_id\"=1")
              .returns("C=8\n");
        }
      

      Note, that it is important to make select from real table and not using limit so that planner tries to push EXTRACT to JdbcProject. But then it throws the following exception ():

      Caused by: java.sql.SQLException: Error while executing SQL "select extract(month from "birth_date") as c 
      from "foodmart"."employee" where "employee_id"=1": class org.apache.calcite.sql.SqlSyntax$6: SPECIAL
      	at org.apache.calcite.avatica.Helper.createException(Helper.java:56)
      	at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
      	at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:156)
      	at org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:218)
      	at org.apache.calcite.test.CalciteAssert.assertQuery(CalciteAssert.java:564)
      	... 26 more
      Caused by: java.lang.UnsupportedOperationException: class org.apache.calcite.sql.SqlSyntax$6: SPECIAL
      	at org.apache.calcite.util.Util.needToImplement(Util.java:923)
      	at org.apache.calcite.sql.SqlSyntax$6.unparse(SqlSyntax.java:116)
      	at org.apache.calcite.sql.SqlOperator.unparse(SqlOperator.java:332)
      	at org.apache.calcite.sql.SqlDialect$BaseHandler.unparseCall(SqlDialect.java:733)
      ...
      

      Attachments

        Issue Links

          Activity

            People

              julianhyde Julian Hyde
              Pavel Gubin Pavel Gubin
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: