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

PrestoDB translator - format* functions - invalid conversion to 'timestamp with timezone'

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 9.2
    • 8.12.8.6_3
    • Misc. Connectors
    • None

    Description

      When issuing query with formatdate or formattime, Teiid tries convert respective column to 'timestamp with timezone'. This conversion causes exception in PrestoDB. The proper conversion should be to 'timestamp'.

      Query
      SELECT FORMATDATE(DateValue, 'MM-dd-yy') FROM BQT1.SmallA
      
      Source command
      SELECT format_datetime(cast(g_0.datevalue AS timestamp with timezone), 'MM-dd-yy') FROM smalla AS g_0
      
      Exception
      Unable to find source-code formatter for language: plain. Available languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, xml, yaml
      14:41:32,061 WARN  [org.teiid.CONNECTOR] (Worker30_QueryProcessorQueue143) Connector worker process failed for atomic-request=A7WqBzZhsyYM.50.0.34: org.teiid.translator.jdbc.JDBCExecutionException: 1 TEIID11008:TEIID11004 Error executing statement(s): [SQL: SELECT format_datetime(cast(g_0.datevalue AS timestamp with timezone), 'MM-dd-yy') FROM smalla AS g_0]
      	at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131) [translator-jdbc-8.12.5.redhat-8.jar:8.12.5.redhat-8]
      	at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:364)
      	at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source) [:1.8.0_92]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_92]
      	at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_92]
      	at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
      	at com.sun.proxy.$Proxy48.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:266) [rt.jar:1.8.0_92]
      	at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
      	at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
      	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:1142) [rt.jar:1.8.0_92]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_92]
      	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_92]
      Caused by: java.sql.SQLException: Query failed (#20170106_134131_04118_k4ss5): line 1:56: mismatched input 'with' expecting {')', 'ARRAY'}
      	at com.facebook.presto.jdbc.PrestoResultSet.resultsException(PrestoResultSet.java:1799)
      	at com.facebook.presto.jdbc.PrestoStatement.execute(PrestoStatement.java:209)
      	at com.facebook.presto.jdbc.PrestoStatement.executeQuery(PrestoStatement.java:69)
      	at org.jboss.jca.adapters.jdbc.WrappedStatement.executeQuery(WrappedStatement.java:344)
      	at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:119) [translator-jdbc-8.12.5.redhat-8.jar:8.12.5.redhat-8]
      	... 17 more
      Caused by: com.facebook.presto.sql.parser.ParsingException: line 1:56: mismatched input 'with' expecting {')', 'ARRAY'}
      	at com.facebook.presto.sql.parser.SqlParser$1.syntaxError(SqlParser.java:45)
      	at org.antlr.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:65)
      	at org.antlr.v4.runtime.Parser.notifyErrorListeners(Parser.java:566)
      	at org.antlr.v4.runtime.DefaultErrorStrategy.reportInputMismatch(DefaultErrorStrategy.java:325)
      	at org.antlr.v4.runtime.DefaultErrorStrategy.reportError(DefaultErrorStrategy.java:148)
      	at com.facebook.presto.sql.parser.SqlBaseParser.type(SqlBaseParser.java:8691)
      	at com.facebook.presto.sql.parser.SqlBaseParser.primaryExpression(SqlBaseParser.java:7817)
      	at com.facebook.presto.sql.parser.SqlBaseParser.valueExpression(SqlBaseParser.java:6677)
      	at com.facebook.presto.sql.parser.SqlBaseParser.predicated(SqlBaseParser.java:5955)
      	at com.facebook.presto.sql.parser.SqlBaseParser.booleanExpression(SqlBaseParser.java:5858)
      	at com.facebook.presto.sql.parser.SqlBaseParser.expression(SqlBaseParser.java:5613)
      	at com.facebook.presto.sql.parser.SqlBaseParser.primaryExpression(SqlBaseParser.java:7613)
      	at com.facebook.presto.sql.parser.SqlBaseParser.valueExpression(SqlBaseParser.java:6677)
      	at com.facebook.presto.sql.parser.SqlBaseParser.predicated(SqlBaseParser.java:5955)
      	at com.facebook.presto.sql.parser.SqlBaseParser.booleanExpression(SqlBaseParser.java:5858)
      	at com.facebook.presto.sql.parser.SqlBaseParser.expression(SqlBaseParser.java:5613)
      	at com.facebook.presto.sql.parser.SqlBaseParser.selectItem(SqlBaseParser.java:4706)
      	at com.facebook.presto.sql.parser.SqlBaseParser.querySpecification(SqlBaseParser.java:3718)
      	at com.facebook.presto.sql.parser.SqlBaseParser.queryPrimary(SqlBaseParser.java:3494)
      	at com.facebook.presto.sql.parser.SqlBaseParser.queryTerm(SqlBaseParser.java:3306)
      	at com.facebook.presto.sql.parser.SqlBaseParser.queryNoWith(SqlBaseParser.java:3162)
      	at com.facebook.presto.sql.parser.SqlBaseParser.query(SqlBaseParser.java:2634)
      	at com.facebook.presto.sql.parser.SqlBaseParser.statement(SqlBaseParser.java:1294)
      	at com.facebook.presto.sql.parser.SqlBaseParser.singleStatement(SqlBaseParser.java:231)
      	at com.facebook.presto.sql.parser.SqlParser.invokeParser(SqlParser.java:92)
      	at com.facebook.presto.sql.parser.SqlParser.createStatement(SqlParser.java:65)
      	at com.facebook.presto.execution.SqlQueryManager.createQuery(SqlQueryManager.java:289)
      	at com.facebook.presto.server.StatementResource$Query.<init>(StatementResource.java:309)
      	at com.facebook.presto.server.StatementResource.createQuery(StatementResource.java:172)
      	at sun.reflect.GeneratedMethodAccessor474.invoke(Unknown Source) [:1.8.0_92]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_92]
      	at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_92]
      	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
      	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
      	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
      	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
      	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
      	at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
      	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
      	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
      	at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
      	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
      	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
      	at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
      	at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
      	at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
      	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
      	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
      	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
      	at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
      	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
      	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
      	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
      	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
      	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1689)
      	at io.airlift.http.server.TraceTokenFilter.doFilter(TraceTokenFilter.java:63)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1676)
      	at io.airlift.http.server.TimingFilter.doFilter(TimingFilter.java:52)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1676)
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
      	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:395)
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1182)
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
      	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
      	at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169)
      	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
      	at org.eclipse.jetty.server.Server.handle(Server.java:523)
      	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
      	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
      	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
      	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
      	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
      	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
      	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
      	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
      	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
      	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
      	... 1 more
      Caused by: org.antlr.v4.runtime.InputMismatchException
      	at org.antlr.v4.runtime.DefaultErrorStrategy.sync(DefaultErrorStrategy.java:268)
      	at com.facebook.presto.sql.parser.SqlBaseParser.type(SqlBaseParser.java:8666)
      	... 77 more
      

      Attachments

        Issue Links

          Activity

            People

              kylinsoong.1214@gmail.com Kylin Soong (Inactive)
              jdurani Juraj DurĂ¡ni (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: