[ 
https://issues.apache.org/jira/browse/HIVE-2803?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phabricator updated HIVE-2803:
------------------------------

    Attachment: HIVE-2803.D1959.1.patch

tamtam180 requested code review of "HIVE-2803 [jira] utc_from_timestamp and 
utc_to_timestamp returns incorrect results.".
Reviewers: JIRA

  https://issues.apache.org/jira/browse/HIVE-2803

  HIVE-2803 utc_from_timestamp and utc_to_timestamp returns incorrect results.

  It changed so that applyOffset() return a new instance.

  How to reproduce:


  $ echo "2011-12-25 09:00:00.123456" > /tmp/data5.txt
  hive> create table ts1(t1 timestamp);
  hive> load data local inpath '/tmp/data5.txt' overwrite into table ts1;
  hive> select t1, from_utc_timestamp(t1, 'JST'), from_utc_timestamp(t1, 'JST') 
from ts1 limit 1;



  The following result is expected:

   2011-12-25 09:00:00.123456      2011-12-25 18:00:00.123456      2011-12-25 
18:00:00.123456


  However, the above query return incorrect result like this:

   2011-12-26 03:00:00.492456      2011-12-26 03:00:00.492456      2011-12-26 
03:00:00.492456



  This is because GenericUDFFromUtcTimestamp.applyOffset() does setTime() 
improperly.
  On evaluating query, timestamp argument always returns the same instance.
  GenericUDFFromUtcTimestamp.applyOffset() does setTime() on the instance.
  That means it adds all offsets in the query.

TEST PLAN
  EMPTY

REVISION DETAIL
  https://reviews.facebook.net/D1959

AFFECTED FILES
  ql/src/test/results/clientpositive/timestamp_udf.q.out
  ql/src/test/queries/clientpositive/timestamp_udf.q
  
ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFFromUtcTimestamp.java

MANAGE HERALD DIFFERENTIAL RULES
  https://reviews.facebook.net/herald/view/differential/

WHY DID I GET THIS EMAIL?
  https://reviews.facebook.net/herald/transcript/4143/

Tip: use the X-Herald-Rules header to filter Herald messages in your client.

                
> utc_from_timestamp and utc_to_timestamp returns incorrect results.
> ------------------------------------------------------------------
>
>                 Key: HIVE-2803
>                 URL: https://issues.apache.org/jira/browse/HIVE-2803
>             Project: Hive
>          Issue Type: Bug
>          Components: UDF
>    Affects Versions: 0.8.0
>            Reporter: tamtam180
>         Attachments: HIVE-2803.1.patch.txt, HIVE-2803.D1959.1.patch
>
>
> How to reproduce:
> {noformat}
> $ echo "2011-12-25 09:00:00.123456" > /tmp/data5.txt
> hive> create table ts1(t1 timestamp);
> hive> load data local inpath '/tmp/data5.txt' overwrite into table ts1;
> hive> select t1, from_utc_timestamp(t1, 'JST'), from_utc_timestamp(t1, 'JST') 
> from ts1 limit 1;
> {noformat}
> The following result is expected:
> {noformat}
>  2011-12-25 09:00:00.123456      2011-12-25 18:00:00.123456      2011-12-25 
> 18:00:00.123456
> {noformat}
> However, the above query return incorrect result like this:
> {noformat}
>  2011-12-26 03:00:00.492456      2011-12-26 03:00:00.492456      2011-12-26 
> 03:00:00.492456
> {noformat}
> This is because GenericUDFFromUtcTimestamp.applyOffset() does setTime() 
> improperly.
> On evaluating query, timestamp argument always returns the same instance.
> GenericUDFFromUtcTimestamp.applyOffset() does setTime() on the instance.
> That means it adds all offsets in the query.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to