[
https://issues.apache.org/jira/browse/TAJO-2110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15249255#comment-15249255
]
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_r60351294
--- Diff:
tajo-core/src/main/java/org/apache/tajo/engine/function/datetime/DatePartFromTimestamp.java
---
@@ -59,8 +55,9 @@ public DatePartFromTimestamp() {
@Override
public void init(OverridableConf context, FunctionEval.ParamType []
types) {
- String timezoneId = context.get(SessionVars.TIMEZONE,
TajoConstants.DEFAULT_SYSTEM_TIMEZONE);
- timezone = TimeZone.getTimeZone(timezoneId);
+ if (!hasTimeZone()) {
--- End diff --
It looks a bug to me. As you know, the reason why the results of the above
queries are different is there is no way to apply the client timezone to the
result of date_part(). This is also same for add_month() and add_day()
functions. I think we need to fix this too because the result is not the one
which users usually expect. Of course, the result is different from that of
pgsql.
But, this also looks to require a huge amount of work. If you agree, how
about handling this issue in another Jira?
> 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)