Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Not A Problem
-
1.9.0
-
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
- relates to
-
DRILL-4864 Add ANSI format for date/time functions
- Closed