Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-4650

SybaseIQ translator: week function can't be pushed directly

    XMLWordPrintable

Details

    Description

      SybaseIQ translator pushes WEEK function calls directly to SAP IQ. SAP IQ doesn't support such function. See Date and Time Functions docs

      Query:

      SELECT WEEK(dateValue) FROM BQT1.SMALLA;
      

      Pushed source query:

      [SELECT week(g_0."datevalue") FROM "bqt-server"."dvqe"."SmallA" AS g_0]
      

      Error in logs:

      08:14:15,830 WARN  [org.teiid.CONNECTOR] (Worker3_QueryProcessorQueue19) Connector worker process failed for atomic-request=PYp5BTTPF3pK.8.0.2: org.teiid.translator.jdbc.JDBCExecutionException: 504 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT week(g_0."datevalue") FROM "bqt-server"."dvqe"."SmallA" AS g_0]
      	at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131) [translator-jdbc-8.12.8.6_3-redhat-1.jar:8.12.8.6_3-redhat-1]
      	at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:366)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_71]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_71]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_71]
      	at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_71]
      	at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
      	at com.sun.proxy.$Proxy80.execute(Unknown Source)
      	at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
      	at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
      	at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_71]
      	at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
      	at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:280)
      	at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
      	at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_71]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_71]
      	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71]
      Caused by: com.sybase.jdbc4.jdbc.SybSQLException: SQL Anywhere Error -265: Procedure 'week' not found
      	at com.sybase.jdbc4.tds.Tds.a(Unknown Source)
      	at com.sybase.jdbc4.tds.Tds.nextResult(Unknown Source)
      	at com.sybase.jdbc4.tds.Tds.getResultSetResult(Unknown Source)
      	at com.sybase.jdbc4.tds.TdsCursor.open(Unknown Source)
      	at com.sybase.jdbc4.jdbc.SybStatement.executeQuery(Unknown Source)
      	at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeQuery(Unknown Source)
      	at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:462)
      	at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:123) [translator-jdbc-8.12.8.6_3-redhat-1.jar:8.12.8.6_3-redhat-1]
      	... 18 more
      

      Attachments

        Issue Links

          Activity

            People

              rhn-engineering-shawkins Steven Hawkins
              jstastny@redhat.com Jan Stastny
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: