Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-4939

to_date function returns incorrect result

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Not A Problem
    • 1.9.0
    • 1.16.0
    • Execution - Data Types
    • None

    Description

      to_date function returns wrong result

      correct results from Postgres

      postgres=# values(to_date('2016-09-22','yyyy-mm-dd'));
        column1
      ------------
       2016-09-22
      (1 row)
      

      wrong results returned by Drill 1.9.0 git commit id: 4edabe7a

      : jdbc:drill:schema=dfs.tmp> values(to_date('2016-09-22','yyyy-mm-dd'));
      +-------------+
      |   EXPR$0    |
      +-------------+
      | 2016-01-22  |
      +-------------+
      1 row selected (0.125 seconds)
      

      Postgres 9.3 returns true for below query whereas drill 1.9.0 returns false.

      0: jdbc:drill:schema=dfs.tmp> select (res1 = to_date('2016-09-22','yyyy-mm-dd')) res2
      . . . . . . . . . . . . . . > from
      . . . . . . . . . . . . . . > (
      . . . . . . . . . . . . . . >     select (case when (false) then null else cast('2016/09/22' as date) end) res1
      . . . . . . . . . . . . . . >     from (values(1)) foo
      . . . . . . . . . . . . . . > ) foobar;
      +--------+
      |  res2  |
      +--------+
      | false  |
      +--------+
      1 row selected (0.146 seconds)
      
      postgres=# select (res1 = to_date('2016/09/22','yyyy-mm-dd')) res2
      postgres-# from
      postgres-# (
      postgres(#     select (case when (false) then null else cast('2016/09/22' as date) end) res1
      postgres(#     from (values(1)) foo
      postgres(# ) foobar;
       res2
      ------
       t
      (1 row)
      

      Postgres 9.3 returns an error for below query, where as Drill git commit ID: 4edabe7a returns some results.
      This looks like it has to do with the to_date function in drill.

      0: jdbc:drill:schema=dfs.tmp> select (res1 = to_date(2016/09/22)) res2
      . . . . . . . . . . . . . . > from
      . . . . . . . . . . . . . . > (
      . . . . . . . . . . . . . . >     select (case when (false) then null else cast('2016/09/22' as date) end) res1
      . . . . . . . . . . . . . . >     from (values(1)) foo
      . . . . . . . . . . . . . . > ) foobar;
      +--------+
      |  res2  |
      +--------+
      | false  |
      +--------+
      1 row selected (0.166 seconds)
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              khfaraaz Khurram Faraaz
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: