Github user jihoonson commented on a diff in the pull request:
https://github.com/apache/tajo/pull/993#discussion_r60342924
--- 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 --
Sorry, I forgot to mention that I changed the client timezone.
The original data is
```
default> select * from test;
t, ts, d
-------------------------------
01:01:23, 2015-05-01 15:01:23, 2015-05-01
02:02:33, 2016-05-01 16:02:33, 2016-05-01
```
, and the above case can be reproduced as follows.
```
default> \set TIMEZONE GMT-5
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.018 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.171 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
```
The result of add_days() looks to be affected by the client timezone. This
might be intended behavior because the type of the result is timestamp, but it
seems weird. What do you think?
---
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.
---