Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.18.0
-
None
Description
When trying to execute a simple statement of
select cast("__time" as timestamp) from my_datasource limit 10;
the query fails with a 500 error
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
because the JSON generated is incorrect. Here is the generated JSON
{ "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 }
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
Attachments
Issue Links
- is related to
-
CALCITE-2358 Use null literal instead of empty string as argument for timestamp_parse Druid expression
- Closed
- links to