Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 27, 2015, 7:22 p.m.) Review request for hive. Changes --- 1. removed commented code block 2. remove redundant code, arguments[1] != null Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs (updated) - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfeb33c ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out d4b0650 ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/#review74315 --- ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment120885 Can you remove this commented code from the patch? - Jason Dere On Feb. 25, 2015, 11:35 p.m., XIAOBING ZHOU wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 25, 2015, 11:35 p.m.) Review request for hive. Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfeb33c ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out d4b0650 ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 25, 2015, 11:35 p.m.) Review request for hive. Changes --- patch V8 Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs (updated) - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfeb33c ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out d4b0650 ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
On Feb. 20, 2015, 1:38 a.m., Alexander Pivovarov wrote: ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java, line 143 https://reviews.apache.org/r/30335/diff/5/?file=870059#file870059line143 In 99% of the cases arg[1] will be constant you can get arg[1] avalue in initialize() instead of doing it in evaluate() for each row if (arguments[1] instanceof ConstantObjectInspector) { String fmt = ((ConstantObjectInspector) arguments[1]).getWritableConstantValue() .toString(); } e.g. WritableTimestampObjectInspector is not ConstantObjectInspector. So init once in evaluate function - XIAOBING --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/#review73240 --- On Feb. 25, 2015, 11:35 p.m., XIAOBING ZHOU wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 25, 2015, 11:35 p.m.) Review request for hive. Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfeb33c ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out d4b0650 ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/#review74159 --- ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment120682 arguments[1] != null is redundant because null instanceof class is false. But it's ok. - Alexander Pivovarov On Feb. 25, 2015, 11:35 p.m., XIAOBING ZHOU wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 25, 2015, 11:35 p.m.) Review request for hive. Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfeb33c ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out d4b0650 ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
On Feb. 20, 2015, 9:21 p.m., Jason Dere wrote: ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java, line 94 https://reviews.apache.org/r/30335/diff/5/?file=870059#file870059line94 We do this same check in so many different date functions .. we should eventually add a utility method to do this date type parameter checking. We don't have to do it in this Jira, it can be future work. Alexander Pivovarov wrote: working on it https://issues.apache.org/jira/browse/HIVE-9744 add relates-to link to HIVE-9744 - XIAOBING --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/#review73309 --- On Feb. 25, 2015, 11:35 p.m., XIAOBING ZHOU wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 25, 2015, 11:35 p.m.) Review request for hive. Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfeb33c ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out d4b0650 ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
On Feb. 20, 2015, 9:21 p.m., Jason Dere wrote: ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java, line 73 https://reviews.apache.org/r/30335/diff/5/?file=870059#file870059line73 If you are only going to support a single format string for month, I think MONTH would be a better choice and consistent with using YEAR for years. similar to Oracle we can support MM, MON, MONTH, YY, , YEAR http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions230.htm#i1002084 - Alexander --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/#review73309 --- On Feb. 20, 2015, 1:18 a.m., XIAOBING ZHOU wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 20, 2015, 1:18 a.m.) Review request for hive. Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfb4dc2 ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out e21b54b ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/#review73309 --- ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment119589 If you are only going to support a single format string for month, I think MONTH would be a better choice and consistent with using YEAR for years. ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment119588 We do this same check in so many different date functions .. we should eventually add a utility method to do this date type parameter checking. We don't have to do it in this Jira, it can be future work. - Jason Dere On Feb. 20, 2015, 1:18 a.m., XIAOBING ZHOU wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 20, 2015, 1:18 a.m.) Review request for hive. Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfb4dc2 ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out e21b54b ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/#review73391 --- ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment119699 according to java coding convention UPPER_CASE var names used only for constants (static final) ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment119698 why you read FORMAT_INPUT only for the first row and then cache it? what if format is dynamic? As I mentioned before, use ConstantObjectInspector to get format in inintialize() method if it's not constant then you have to read format valus in evaluate() method for every single row. don't cache format if it is not constant look at decode udf as an example ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment119700 I think (MM.equals(formatInput) || MON.equals(formatInput) || MONTH.equals(formatInput)) is faster than calling contains() on ArrayList ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment119701 (YEAR.equals(formatInput) || .equals(formatInput) || YY.equals(formatInput)) - Alexander Pivovarov On Feb. 21, 2015, 2:54 a.m., XIAOBING ZHOU wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 21, 2015, 2:54 a.m.) Review request for hive. Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfeb33c ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out d4b0650 ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 21, 2015, 12:49 a.m.) Review request for hive. Changes --- patch V6, did a rebase. Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs (updated) - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfeb33c ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out d4b0650 ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 21, 2015, 2:54 a.m.) Review request for hive. Changes --- V7 addressed latest comments. Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs (updated) - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfeb33c ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out d4b0650 ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
On Feb. 20, 2015, 9:21 p.m., Jason Dere wrote: ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java, line 94 https://reviews.apache.org/r/30335/diff/5/?file=870059#file870059line94 We do this same check in so many different date functions .. we should eventually add a utility method to do this date type parameter checking. We don't have to do it in this Jira, it can be future work. working on it https://issues.apache.org/jira/browse/HIVE-9744 - Alexander --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/#review73309 --- On Feb. 20, 2015, 1:18 a.m., XIAOBING ZHOU wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 20, 2015, 1:18 a.m.) Review request for hive. Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfb4dc2 ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out e21b54b ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 20, 2015, 1:18 a.m.) Review request for hive. Changes --- Patch V5 Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs (updated) - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfb4dc2 ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out e21b54b ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/#review73240 --- ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment119516 In 99% of the cases arg[1] will be constant you can get arg[1] avalue in initialize() instead of doing it in evaluate() for each row if (arguments[1] instanceof ConstantObjectInspector) { String fmt = ((ConstantObjectInspector) arguments[1]).getWritableConstantValue() .toString(); } ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment119517 use {} always ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment119518 base class GenericUDF has getStandardDisplayString() implementation already. - Alexander Pivovarov On Feb. 20, 2015, 1:18 a.m., XIAOBING ZHOU wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 20, 2015, 1:18 a.m.) Review request for hive. Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfb4dc2 ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out e21b54b ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 5, 2015, 11:33 p.m.) Review request for hive. Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs (updated) - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfb4dc2 ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error3.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error4.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error5.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error3.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error4.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error5.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out e21b54b ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 5, 2015, 11:27 p.m.) Review request for hive. Summary (updated) - Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfb4dc2 ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error3.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error4.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error5.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error3.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error4.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error5.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out e21b54b ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/#review71342 --- ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment117023 The TRUNC (date) function returns date with the time portion of the day truncated to the unit specified by the format model fmt. If you omit fmt, then date is truncated to the nearest day SELECT TRUNC('2015-10-27', 'YEAR'); OK '2015-01-01' ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment117022 int minDd = 1; // Always. - Alexander Pivovarov On Feb. 5, 2015, 11:33 p.m., XIAOBING ZHOU wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 5, 2015, 11:33 p.m.) Review request for hive. Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfb4dc2 ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error3.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error4.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error5.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error3.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error4.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error5.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out e21b54b ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/#review71345 --- ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment117034 move it under switch block ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment117035 move it under switch block ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment117036 move it under switch block ql/src/test/queries/clientnegative/udf_trunc_error1.q https://reviews.apache.org/r/30335/#comment117037 valid sql. should return null ql/src/test/queries/clientpositive/udf_trunc.q https://reviews.apache.org/r/30335/#comment117038 use 0, 2 or 4 spaces for indent ql/src/test/queries/clientpositive/udf_trunc.q https://reviews.apache.org/r/30335/#comment117040 remove FROM clause the following should work SELECT TRUNC('2014-01-01', 'MM'); ql/src/test/queries/clientpositive/udf_trunc.q https://reviews.apache.org/r/30335/#comment117039 can you add the following tests trunc('2014-01-34', 'MM'), trunc(cast(null as string), 'MM'), trunc(cast(null as date), 'MM'), trunc(cast(null as timestamp), 'MM') ql/src/test/queries/clientpositive/udf_trunc.q https://reviews.apache.org/r/30335/#comment117041 do not need FROM ql/src/test/results/clientnegative/udf_trunc_error4.q.out https://reviews.apache.org/r/30335/#comment117042 why error says Wrong arguments ''MM'' it should be Wrong arguments '1.0' ql/src/test/results/clientnegative/udf_trunc_error5.q.out https://reviews.apache.org/r/30335/#comment117043 why Wrong arguments ''MM'' ? MM is the second argument - Alexander Pivovarov On Feb. 5, 2015, 11:33 p.m., XIAOBING ZHOU wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 5, 2015, 11:33 p.m.) Review request for hive. Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfb4dc2 ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error3.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error4.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error5.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error3.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error4.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error5.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out e21b54b ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU
Re: Review Request 30335: Build UDF TRUNC to implement FIRST_DAY as compared with LAST_DAY
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/#review71344 --- ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment117024 constants should be static final ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment117025 replace with UDFArgumentTypeException(0, ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment117026 remove leading space ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment117029 if (PrimitiveObjectInspectorUtils.getPrimitiveGrouping(inputType2) != PrimitiveGrouping.STRING_GROUP) { throw new UDFArgumentTypeException(1, trunk() only takes STRING_GROUP types as second argument, got + inputType2); } ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment117030 remove it ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment117033 add open close bracket. ALWAYS!!! ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java https://reviews.apache.org/r/30335/#comment117031 just return null instead of fail - Alexander Pivovarov On Feb. 5, 2015, 11:33 p.m., XIAOBING ZHOU wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30335/ --- (Updated Feb. 5, 2015, 11:33 p.m.) Review request for hive. Repository: hive-git Description --- Hive already supports LAST_DAY UDF, in some cases, FIRST_DAY is necessary to do date/timestamp related computation. This JIRA is to track such an implementation. https://issues.apache.org/jira/browse/HIVE-9480 Diffs - ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java bfb4dc2 ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java PRE-CREATION ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFTrunc.java PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error1.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error2.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error3.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error4.q PRE-CREATION ql/src/test/queries/clientnegative/udf_trunc_error5.q PRE-CREATION ql/src/test/queries/clientpositive/udf_trunc.q PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error1.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error2.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error3.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error4.q.out PRE-CREATION ql/src/test/results/clientnegative/udf_trunc_error5.q.out PRE-CREATION ql/src/test/results/clientpositive/show_functions.q.out e21b54b ql/src/test/results/clientpositive/udf_trunc.q.out PRE-CREATION Diff: https://reviews.apache.org/r/30335/diff/ Testing --- Unit tests done in ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFirstDay.java Thanks, XIAOBING ZHOU