-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/6027/#review9924
-----------------------------------------------------------



trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateDiff.java
<https://reviews.apache.org/r/6027/#comment21120>

    Instead of these enums, can we use these ints instead 
http://docs.oracle.com/javase/6/docs/api/constant-values.html#java.text.DateFormat
 ?
    
    Also, I don't think microseconds make sense, we don't have that precision 
in any case.



trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateDiff.java
<https://reviews.apache.org/r/6027/#comment21121>

    Lets get rid of formatter variable, add default format ("yyyy-MM-dd") as 
first format in dateFormats and use formatLong() for all formats  



trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateDiff.java
<https://reviews.apache.org/r/6027/#comment21126>

    Instead of doing instanceOf later on, use toDate() / toTimeStamp() 
depending on unit here itself. Then, have  evalutateObj(Date, Date).



trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateDiff.java
<https://reviews.apache.org/r/6027/#comment21122>

    Avoid unnecessary object creation. Do, Date date1 = resolveDate(dateObj1, 
unit) which is more appropriate. Similarly for date2.



trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateDiff.java
<https://reviews.apache.org/r/6027/#comment21118>

    Looks like this function is not used anywhere. Please remove it.



trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateDiff.java
<https://reviews.apache.org/r/6027/#comment21119>

    Looks like this function is not used anywhere. Please, remove it.


- Ashutosh Chauhan


On July 18, 2012, 12:56 a.m., Shefali Vohra wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/6027/
> -----------------------------------------------------------
> 
> (Updated July 18, 2012, 12:56 a.m.)
> 
> 
> Review request for hive and Ashutosh Chauhan.
> 
> 
> Description
> -------
> 
> Parameters
>  This function overloads the current DateDiff(expr1, expr2) by adding another 
> parameter to specify the units. It takes 3 parameters. The first two are 
> timestamps, and the formats accepted are:
>  yyyy-MM-dd
>  yyyy-MM-dd HH:mm:ss
>  yyyy-MM-dd HH:mm:ss.milli
> 
> These are the formats accepted by the current DateDiff(expr1, expr2) function 
> and allow for that consistency. The accepted data types for the timestamp 
> will be Text, TimestampWritable, Date, and String, just as with the already 
> existing function.
> 
> The third parameter is the units the user wants the response to be in. 
> Acceptable units are:
>  Microsecond
>  Millisecond
>  Second
>  Minute
>  Hour
>  Day
>  Week
>  Month
>  Quarter
>  Year
> 
> When calculating the difference, the full timestamp is used when the 
> specified unit is hour or smaller (microsecond, millisecond, second, minute, 
> hour), and only the date part is used if the unit is day or larger (day, 
> week, month, quarter, year). If for the smaller units the time is not 
> specified and the format yyyy-MM-dd is used, the time 00:00:00.0 is used. 
> Leap years are accounted for by the Calendar class in Java, which inherently 
> addresses the issue.
> 
> The assumption is made that all these time parameters are in the same time 
> zone.
> 
> Return Value
>  The function returns expr1 - expr2 expressed as an int in the units 
> specified.
> 
> Hive vs. SQL
>  SQL also has a DateDiff() function with some more acceptable units. The 
> order of parameters is different between SQL and Hive. The reason for this is 
> that Hive already has a DateDiff() function with the same first two 
> parameters, and having this order here allows for that consistency within 
> Hive.
> 
> Example Query
>  hive > DATEDIFF(DATE_FIELD, '2012-06-01', ‘day’); 
> 
> Diagnostic Error Messages
>  Invalid table alias or column name reference
>  Table not found
> 
> 
> This addresses bug HIVE-3216.
>     https://issues.apache.org/jira/browse/HIVE-3216
> 
> 
> Diffs
> -----
> 
>   trunk/data/files/datetable.txt PRE-CREATION 
>   trunk/data/files/timestamptable.txt PRE-CREATION 
>   trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDateDiff.java 1362724 
>   trunk/ql/src/test/queries/clientnegative/udf_datediff.q PRE-CREATION 
>   trunk/ql/src/test/queries/clientpositive/udf_datediff.q 1362724 
>   trunk/ql/src/test/results/clientnegative/udf_datediff.q.out PRE-CREATION 
>   trunk/ql/src/test/results/clientpositive/udf_datediff.q.out 1362724 
> 
> Diff: https://reviews.apache.org/r/6027/diff/
> 
> 
> Testing
> -------
> 
> positive and negative test cases included
> 
> 
> Thanks,
> 
> Shefali Vohra
> 
>

Reply via email to