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

Druid adapter: Cast does not work when casting to timestamp

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.18.0
    • 1.20.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

          Activity

            People

              Unassigned Unassigned
              jszeluga Justin Szeluga
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 4h 40m
                  4h 40m