> On Feb. 4, 2015, 11:13 p.m., Alexander Pivovarov wrote:
> > ql/src/test/queries/clientnegative/udf_months_between_error1.q, line 1
> > <https://reviews.apache.org/r/30437/diff/2/?file=848940#file848940line1>
> >
> >     valid query. result should be null but not error
> 
> Jason Dere wrote:
>     Using the NULL constant is a bit of a special case, because NULL ends up 
> evaluating as VOID type.  This is why the query ends up throwing an error 
> during query compile time (during initialize()), because the type doesn't 
> match. I wouldn't be surprised if most of the other date functions fail in 
> the same way during initialize(). On the other hand, MONTHS_BETWEEN(cast(null 
> as date), '2012-03-01') should not get an error (though it should return null 
> result).
>     
>     So this might be a bad example to use in the test - rather than 
> MONTHS_BETWEEN(null, '2012-03-01'), use a different expression such as 
> MONTHS_BETWEEN(1,  '2012-03-01'), it looks a little less confusing.

probably MONTHS_BETWEEN(1,  '2012-03-01')   and  MONTHS_BETWEEN('2012-03-01', 
1) are better. Error should say smth like expect STRING/TIMESTAMP got INT


- Alexander


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


On Feb. 4, 2015, 10:30 p.m., XIAOBING ZHOU wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30437/
> -----------------------------------------------------------
> 
> (Updated Feb. 4, 2015, 10:30 p.m.)
> 
> 
> Review request for hive.
> 
> 
> Repository: hive-git
> 
> 
> Description
> -------
> 
> This is used to track work to build Oracle like months_between. Here's 
> semantics:
> MONTHS_BETWEEN returns number of months between dates date1 and date2. If 
> date1 is later than date2, then the result is positive. If date1 is earlier 
> than date2, then the result is negative. If date1 and date2 are either the 
> same days of the month or both last days of months, then the result is always 
> an integer. Otherwise Oracle Database calculates the fractional portion of 
> the result based on a 31-day month and considers the difference in time 
> components date1 and date2.
> 
> https://issues.apache.org/jira/browse/HIVE-9518
> 
> 
> Diffs
> -----
> 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfb4dc2 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDateDiff.java 
> 1ecd835 
>   
> ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDateDiffBase.java 
> PRE-CREATION 
>   
> ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMonthsBetween.java
>  PRE-CREATION 
>   ql/src/test/org/apache/hadoop/hive/ql/udf/TestGenericUDFMonthsBetween.java 
> PRE-CREATION 
>   ql/src/test/queries/clientnegative/udf_months_between_error1.q PRE-CREATION 
>   ql/src/test/queries/clientnegative/udf_months_between_error2.q PRE-CREATION 
>   ql/src/test/queries/clientnegative/udf_months_between_error3.q PRE-CREATION 
>   ql/src/test/queries/clientnegative/udf_months_between_error4.q PRE-CREATION 
>   ql/src/test/queries/clientnegative/udf_months_between_error5.q PRE-CREATION 
>   ql/src/test/queries/clientnegative/udf_months_between_error6.q PRE-CREATION 
>   ql/src/test/queries/clientnegative/udf_months_between_error7.q PRE-CREATION 
>   ql/src/test/queries/clientnegative/udf_months_between_error8.q PRE-CREATION 
>   ql/src/test/queries/clientnegative/udf_months_between_error9.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/udf_months_between.q PRE-CREATION 
>   ql/src/test/results/clientnegative/udf_months_between_error1.q.out 
> PRE-CREATION 
>   ql/src/test/results/clientnegative/udf_months_between_error2.q.out 
> PRE-CREATION 
>   ql/src/test/results/clientnegative/udf_months_between_error3.q.out 
> PRE-CREATION 
>   ql/src/test/results/clientnegative/udf_months_between_error4.q.out 
> PRE-CREATION 
>   ql/src/test/results/clientnegative/udf_months_between_error5.q.out 
> PRE-CREATION 
>   ql/src/test/results/clientnegative/udf_months_between_error6.q.out 
> PRE-CREATION 
>   ql/src/test/results/clientnegative/udf_months_between_error7.q.out 
> PRE-CREATION 
>   ql/src/test/results/clientnegative/udf_months_between_error8.q.out 
> PRE-CREATION 
>   ql/src/test/results/clientnegative/udf_months_between_error9.q.out 
> PRE-CREATION 
>   ql/src/test/results/clientpositive/show_functions.q.out e21b54b 
>   ql/src/test/results/clientpositive/udf_months_between.q.out PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/30437/diff/
> 
> 
> Testing
> -------
> 
> SEE ALSO ql/src/test/TestGenericUDFMonthsBetween.java
> 
> 
> Thanks,
> 
> XIAOBING ZHOU
> 
>

Reply via email to