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)
    ```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to