You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Justin Szeluga (JIRA)" <ji...@apache.org> on 2019/01/27 15:58:00 UTC
[jira] [Comment Edited] (CALCITE-2804) Cast does not work in Druid
when casting to timestamp
[ https://issues.apache.org/jira/browse/CALCITE-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16752784#comment-16752784 ]
Justin Szeluga edited comment on CALCITE-2804 at 1/27/19 3:57 PM:
------------------------------------------------------------------
I added a unit test to the pull request.
was (Author: jszeluga):
I added a unit test to the pull request. I can't get the test VM to work right but I put a breakpoint right before it issues the query and I can see the JSON there. With my fix it is correct so it should fail without my fix
> Cast does not work in Druid when casting to timestamp
> -----------------------------------------------------
>
> Key: CALCITE-2804
> URL: https://issues.apache.org/jira/browse/CALCITE-2804
> Project: Calcite
> Issue Type: Bug
> Affects Versions: 1.18.0
> Reporter: Justin Szeluga
> Assignee: Julian Hyde
> Priority: Major
> Fix For: 1.19.0
>
>
> When trying to execute a simple statement of
> {code:java}
> select cast("__time" as timestamp) from my_datasource limit 10;{code}
> the query fails with a 500 error
>
> {code:java}
> Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:58082/druid/v2/?pretty
> at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
> at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
> at org.apache.calcite.runtime.HttpUtils.executeMethod(HttpUtils.java:137)
> at org.apache.calcite.runtime.HttpUtils.post(HttpUtils.java:110)
> at org.apache.calcite.adapter.druid.DruidConnectionImpl.request(DruidConnectionImpl.java:109)
> ... 29 more
> {code}
> because the JSON generated is incorrect. Here is the generated JSON
>
>
> {code:java}
> {
> "queryType": "scan",
> "dataSource": "my_datasource",
> "intervals": [
> "1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"
> ],
> "virtualColumns": [
> {
> "type": "expression",
> "name": "vc",
> "expression": "timestamp_parse(timestamp_format(\"__time\",'yyyy-MM-dd\\u0027T\\u0027HH:mm:ss.SSS\\u0027Z\\u0027','America/New_York'),'','UTC')",
> "outputType": "LONG"
> }
> ],
> "columns": [
> "vc"
> ],
> "resultFormat": "compactedList",
> "limit": 10
> }
> {code}
> There are two problems. First, the "__time" dimension is not formatted correctly in timestamp_format. The escaped quotes need to be removed.
> Also, the call to timestamp_parse is incorrect. If a timezone is going to be provided then a date time format needs to be provided as well. Currently, it is only empty string
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)