[ 
https://issues.apache.org/jira/browse/TAJO-2110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15249098#comment-15249098
 ] 

ASF GitHub Bot commented on TAJO-2110:
--------------------------------------

Github user jihoonson commented on a diff in the pull request:

    https://github.com/apache/tajo/pull/993#discussion_r60339699
  
    --- Diff: 
tajo-core/src/main/java/org/apache/tajo/engine/function/datetime/AddDays.java 
---
    @@ -52,8 +56,16 @@ public AddDays() {
       }
     
       @Override
    +  public void init(OverridableConf context, FunctionEval.ParamType[] 
types) {
    +    if (!hasTimeZone()) {
    +      setTimeZone(context.getConf().getSystemTimezone());
    --- End diff --
    
    ```add_days()``` and ```add_months()``` seem to be separately implemented 
for each type of ```date``` and ```timestamp```. Here is a case which looks a 
bug. The results of ```add_days()``` of timestamp and date types are expected 
to be same, but is different.
    ```
    default> \d test
    
    table name: default.test
    table uri: hdfs://localhost:7020/tajo/warehouse/default/test
    store type: TEXT
    number of rows: 1
    volume: 40 B
    Options:
        'timezone'='Asia/Seoul'
        'text.delimiter'='|'
    
    schema: 
    t   TIME
    ts  TIMESTAMP
    d   DATE
    
    default> select * from test;
    t,  ts,  d
    -------------------------------
    01:01:23,  2015-05-01 01:01:23,  2015-05-01
    02:02:33,  2016-05-01 02:02:33,  2016-05-01
    (2 rows, 0.019 sec, 0 B selected)
    default> select add_days(ts, 5) from test;
    ?add_days
    -------------------------------
    2015-05-06 01:01:23
    2016-05-06 02:02:33
    (2 rows, 0.026 sec, 0 B selected)
    default> select add_days(d, 5) from test;
    ?add_days
    -------------------------------
    2015-05-05 10:00:00
    2016-05-05 10:00:00
    (2 rows, 0.023 sec, 0 B selected)
    ```


> Fix incorrect DateTime and remove hard coded tests
> --------------------------------------------------
>
>                 Key: TAJO-2110
>                 URL: https://issues.apache.org/jira/browse/TAJO-2110
>             Project: Tajo
>          Issue Type: Bug
>          Components: Data Type, Storage, Unit Test
>    Affects Versions: 0.12.0
>            Reporter: Jinho Kim
>            Assignee: Jinho Kim
>            Priority: Critical
>
> Currently, Most DateTime tests are not work correctly. because timezone is 
> hardcode to the GMT for testing.
> if you run CTAS, the result data will be incorrect. we should remove the 
> hardcoded timezone in TajoTestingCluster
> Here is some examples:
> Example 1
> {noformat}
> if you run CTAS, the result data will be incorrect
> default> create table test1 (col1 TIMESTAMP);
> default> insert overwrite into test1 select '2016-04-04 00:00:00'::TIMESTAMP;
> default> select * from test1;
> col1
> -------------------------------
> 2016-04-04 00:00:00
> (1 rows, 0.057 sec, 0 B selected)
> default> create table test2 as select * from test1;
> [=========================================>] 100%  0.105 sec
> (1 rows, 0.105 sec, 20 B inserted)
> default> select * from test2;
> col1
> -------------------------------
> 2016-04-03 15:00:00
> {noformat}
> Example 2
> {noformat}
> default> select '2016-04-04 01:00:00'::TIMESTAMP - interval '1 hour';
> ?minus
> -------------------------------
> 2016-04-04 09:00:00
> (1 rows, 0.005 sec, 0 B selected)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to