You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ai...@apache.org on 2016/12/15 14:40:49 UTC

[3/3] hive git commit: HIVE-15383: Add additional info to 'desc function extended' output (Aihua Xu, reviewed by Yongzhi Chen)

HIVE-15383: Add additional info to 'desc function extended' output (Aihua Xu, reviewed by Yongzhi Chen)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/cb7918c6
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/cb7918c6
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/cb7918c6

Branch: refs/heads/master
Commit: cb7918c6aa21d059f5a195bb55261381116557b8
Parents: b862d6a
Author: Aihua Xu <ai...@apache.org>
Authored: Wed Dec 7 17:45:57 2016 -0500
Committer: Aihua Xu <ai...@apache.org>
Committed: Thu Dec 15 09:24:56 2016 -0500

----------------------------------------------------------------------
 .../test/results/clientpositive/dboutput.q.out   |   2 ++
 .../clientpositive/udaf_example_max.q.out        |   2 ++
 .../clientpositive/udaf_example_min.q.out        |   2 ++
 .../clientpositive/udf_row_sequence.q.out        |   2 ++
 .../org/apache/hadoop/hive/ql/exec/DDLTask.java  |  15 +++++++++++++++
 .../clientpositive/cbo_rp_udf_percentile.q.out   |   2 ++
 .../clientpositive/cbo_rp_udf_percentile2.q.out  |   2 ++
 .../results/clientpositive/cbo_udf_max.q.out     |   2 ++
 .../results/clientpositive/create_func1.q.out    |   4 ++++
 .../clientpositive/llap/udaf_collect_set_2.q.out |   4 ++++
 .../clientpositive/spark/udaf_collect_set.q.out  |   4 ++++
 .../results/clientpositive/spark/udf_max.q.out   |   2 ++
 .../results/clientpositive/spark/udf_min.q.out   |   2 ++
 .../clientpositive/spark/udf_percentile.q.out    |   2 ++
 .../test/results/clientpositive/str_to_map.q.out |   2 ++
 .../clientpositive/udaf_collect_set.q.out        |   4 ++++
 .../test/results/clientpositive/udaf_corr.q.out  |   2 ++
 .../results/clientpositive/udaf_covar_pop.q.out  |   2 ++
 .../results/clientpositive/udaf_covar_samp.q.out |   2 ++
 ql/src/test/results/clientpositive/udf_E.q.out   |   4 ++++
 ql/src/test/results/clientpositive/udf_PI.q.out  |   4 ++++
 ql/src/test/results/clientpositive/udf_abs.q.out |   2 ++
 .../test/results/clientpositive/udf_acos.q.out   |   2 ++
 ql/src/test/results/clientpositive/udf_add.q.out |   2 ++
 .../results/clientpositive/udf_add_months.q.out  |   2 ++
 .../results/clientpositive/udf_aes_decrypt.q.out |   2 ++
 .../results/clientpositive/udf_aes_encrypt.q.out |   2 ++
 .../test/results/clientpositive/udf_array.q.out  |   2 ++
 .../clientpositive/udf_array_contains.q.out      |   2 ++
 .../test/results/clientpositive/udf_ascii.q.out  |   2 ++
 .../test/results/clientpositive/udf_asin.q.out   |   2 ++
 .../test/results/clientpositive/udf_atan.q.out   |   4 ++++
 ql/src/test/results/clientpositive/udf_avg.q.out |   2 ++
 .../results/clientpositive/udf_between.q.out     |   2 ++
 .../test/results/clientpositive/udf_bigint.q.out |   2 ++
 ql/src/test/results/clientpositive/udf_bin.q.out |   2 ++
 .../results/clientpositive/udf_bitwise_and.q.out |   2 ++
 .../results/clientpositive/udf_bitwise_not.q.out |   2 ++
 .../results/clientpositive/udf_bitwise_or.q.out  |   2 ++
 .../clientpositive/udf_bitwise_shiftleft.q.out   |   2 ++
 .../clientpositive/udf_bitwise_shiftright.q.out  |   2 ++
 .../udf_bitwise_shiftrightunsigned.q.out         |   2 ++
 .../results/clientpositive/udf_bitwise_xor.q.out |   2 ++
 .../results/clientpositive/udf_boolean.q.out     |   2 ++
 .../test/results/clientpositive/udf_bround.q.out |   2 ++
 .../test/results/clientpositive/udf_case.q.out   |   2 ++
 .../test/results/clientpositive/udf_cbrt.q.out   |   2 ++
 .../test/results/clientpositive/udf_ceil.q.out   |   2 ++
 .../results/clientpositive/udf_ceiling.q.out     |   2 ++
 ql/src/test/results/clientpositive/udf_chr.q.out | Bin 1476 -> 1550 bytes
 .../results/clientpositive/udf_coalesce.q.out    |   2 ++
 .../test/results/clientpositive/udf_concat.q.out |   2 ++
 .../results/clientpositive/udf_concat_ws.q.out   |   2 ++
 .../test/results/clientpositive/udf_conv.q.out   |   2 ++
 ql/src/test/results/clientpositive/udf_cos.q.out |   2 ++
 .../test/results/clientpositive/udf_count.q.out  |   2 ++
 .../test/results/clientpositive/udf_crc32.q.out  |   2 ++
 .../clientpositive/udf_current_user.q.out        |   2 ++
 .../results/clientpositive/udf_date_add.q.out    |   2 ++
 .../results/clientpositive/udf_date_format.q.out |   2 ++
 .../results/clientpositive/udf_date_sub.q.out    |   2 ++
 .../results/clientpositive/udf_datediff.q.out    |   2 ++
 ql/src/test/results/clientpositive/udf_day.q.out |   2 ++
 .../results/clientpositive/udf_dayofmonth.q.out  |   2 ++
 .../test/results/clientpositive/udf_decode.q.out |   2 ++
 .../results/clientpositive/udf_degrees.q.out     |   4 ++++
 ql/src/test/results/clientpositive/udf_div.q.out |   2 ++
 .../test/results/clientpositive/udf_divide.q.out |   2 ++
 .../test/results/clientpositive/udf_double.q.out |   2 ++
 ql/src/test/results/clientpositive/udf_elt.q.out |   2 ++
 .../test/results/clientpositive/udf_equal.q.out  |   6 ++++++
 ql/src/test/results/clientpositive/udf_exp.q.out |   2 ++
 .../results/clientpositive/udf_explode.q.out     |   2 ++
 .../results/clientpositive/udf_factorial.q.out   |   2 ++
 .../test/results/clientpositive/udf_field.q.out  |   2 ++
 .../results/clientpositive/udf_find_in_set.q.out |   2 ++
 .../test/results/clientpositive/udf_float.q.out  |   2 ++
 .../test/results/clientpositive/udf_floor.q.out  |   2 ++
 .../clientpositive/udf_format_number.q.out       |   2 ++
 .../clientpositive/udf_from_unixtime.q.out       |   2 ++
 .../clientpositive/udf_from_utc_timestamp.q.out  |   2 ++
 .../clientpositive/udf_get_json_object.q.out     |   2 ++
 .../results/clientpositive/udf_greaterthan.q.out |   2 ++
 .../clientpositive/udf_greaterthanorequal.q.out  |   2 ++
 .../results/clientpositive/udf_greatest.q.out    |   2 ++
 .../test/results/clientpositive/udf_hash.q.out   |   2 ++
 ql/src/test/results/clientpositive/udf_hex.q.out |   2 ++
 .../test/results/clientpositive/udf_hour.q.out   |   2 ++
 ql/src/test/results/clientpositive/udf_if.q.out  |   2 ++
 .../results/clientpositive/udf_initcap.q.out     |   2 ++
 .../test/results/clientpositive/udf_instr.q.out  |   2 ++
 ql/src/test/results/clientpositive/udf_int.q.out |   2 ++
 .../results/clientpositive/udf_isnotnull.q.out   |   2 ++
 .../test/results/clientpositive/udf_isnull.q.out |   2 ++
 .../clientpositive/udf_isnull_isnotnull.q.out    |   4 ++++
 .../results/clientpositive/udf_java_method.q.out |   2 ++
 .../results/clientpositive/udf_last_day.q.out    |   2 ++
 .../test/results/clientpositive/udf_lcase.q.out  |   2 ++
 .../test/results/clientpositive/udf_least.q.out  |   2 ++
 .../test/results/clientpositive/udf_length.q.out |   2 ++
 .../results/clientpositive/udf_lessthan.q.out    |   2 ++
 .../clientpositive/udf_lessthanorequal.q.out     |   2 ++
 .../results/clientpositive/udf_levenshtein.q.out |   2 ++
 .../test/results/clientpositive/udf_like.q.out   |   2 ++
 ql/src/test/results/clientpositive/udf_ln.q.out  |   2 ++
 .../test/results/clientpositive/udf_locate.q.out |   2 ++
 ql/src/test/results/clientpositive/udf_log.q.out |   2 ++
 .../test/results/clientpositive/udf_log10.q.out  |   2 ++
 .../test/results/clientpositive/udf_log2.q.out   |   2 ++
 .../clientpositive/udf_logged_in_user.q.out      |   2 ++
 .../test/results/clientpositive/udf_lower.q.out  |   2 ++
 .../test/results/clientpositive/udf_lpad.q.out   |   2 ++
 .../test/results/clientpositive/udf_ltrim.q.out  |   2 ++
 ql/src/test/results/clientpositive/udf_map.q.out |   2 ++
 .../results/clientpositive/udf_map_keys.q.out    |   2 ++
 .../results/clientpositive/udf_map_values.q.out  |   2 ++
 .../test/results/clientpositive/udf_mask.q.out   |   2 ++
 .../clientpositive/udf_mask_first_n.q.out        |   2 ++
 .../results/clientpositive/udf_mask_hash.q.out   |   2 ++
 .../results/clientpositive/udf_mask_last_n.q.out |   2 ++
 .../clientpositive/udf_mask_show_first_n.q.out   |   2 ++
 .../clientpositive/udf_mask_show_last_n.q.out    |   2 ++
 ql/src/test/results/clientpositive/udf_max.q.out |   2 ++
 ql/src/test/results/clientpositive/udf_md5.q.out |   2 ++
 ql/src/test/results/clientpositive/udf_min.q.out |   2 ++
 .../test/results/clientpositive/udf_minute.q.out |   2 ++
 .../test/results/clientpositive/udf_modulo.q.out |   2 ++
 .../test/results/clientpositive/udf_month.q.out  |   2 ++
 .../clientpositive/udf_months_between.q.out      |   2 ++
 .../clientpositive/udf_named_struct.q.out        |   2 ++
 .../results/clientpositive/udf_negative.q.out    |   4 ++++
 .../results/clientpositive/udf_next_day.q.out    |   2 ++
 ql/src/test/results/clientpositive/udf_not.q.out |   4 ++++
 .../results/clientpositive/udf_notequal.q.out    |   4 ++++
 .../test/results/clientpositive/udf_nullif.q.out |   2 ++
 ql/src/test/results/clientpositive/udf_nvl.q.out |   2 ++
 ql/src/test/results/clientpositive/udf_or.q.out  |   2 ++
 .../results/clientpositive/udf_parse_url.q.out   |   2 ++
 .../results/clientpositive/udf_percentile.q.out  |   2 ++
 .../test/results/clientpositive/udf_pmod.q.out   |   2 ++
 .../results/clientpositive/udf_positive.q.out    |   4 ++++
 ql/src/test/results/clientpositive/udf_pow.q.out |   2 ++
 .../test/results/clientpositive/udf_power.q.out  |   2 ++
 .../test/results/clientpositive/udf_printf.q.out |   2 ++
 .../results/clientpositive/udf_quarter.q.out     |   2 ++
 .../results/clientpositive/udf_radians.q.out     |   4 ++++
 .../test/results/clientpositive/udf_rand.q.out   |   2 ++
 .../results/clientpositive/udf_reflect.q.out     |   2 ++
 .../results/clientpositive/udf_reflect2.q.out    |   2 ++
 .../test/results/clientpositive/udf_regexp.q.out |   2 ++
 .../clientpositive/udf_regexp_extract.q.out      |   2 ++
 .../clientpositive/udf_regexp_replace.q.out      |   2 ++
 .../test/results/clientpositive/udf_repeat.q.out |   2 ++
 .../results/clientpositive/udf_replace.q.out     |   2 ++
 .../results/clientpositive/udf_reverse.q.out     |   2 ++
 .../test/results/clientpositive/udf_rlike.q.out  |   2 ++
 .../test/results/clientpositive/udf_round.q.out  |   2 ++
 .../test/results/clientpositive/udf_rpad.q.out   |   2 ++
 .../test/results/clientpositive/udf_rtrim.q.out  |   2 ++
 .../test/results/clientpositive/udf_second.q.out |   2 ++
 .../test/results/clientpositive/udf_sha1.q.out   |   2 ++
 .../test/results/clientpositive/udf_sha2.q.out   |   2 ++
 .../test/results/clientpositive/udf_sign.q.out   |   4 ++++
 ql/src/test/results/clientpositive/udf_sin.q.out |   2 ++
 .../test/results/clientpositive/udf_size.q.out   |   2 ++
 .../results/clientpositive/udf_smallint.q.out    |   2 ++
 .../results/clientpositive/udf_sort_array.q.out  |   4 +++-
 .../clientpositive/udf_sort_array_by.q.out       |   2 ++
 .../results/clientpositive/udf_soundex.q.out     |   2 ++
 .../test/results/clientpositive/udf_space.q.out  |   2 ++
 .../test/results/clientpositive/udf_split.q.out  |   2 ++
 .../test/results/clientpositive/udf_sqrt.q.out   |   2 ++
 ql/src/test/results/clientpositive/udf_std.q.out |   2 ++
 .../test/results/clientpositive/udf_stddev.q.out |   2 ++
 .../results/clientpositive/udf_stddev_samp.q.out |   4 ++++
 .../test/results/clientpositive/udf_string.q.out |   2 ++
 .../test/results/clientpositive/udf_struct.q.out |   2 ++
 .../test/results/clientpositive/udf_substr.q.out |   2 ++
 .../results/clientpositive/udf_substring.q.out   |   2 ++
 .../clientpositive/udf_substring_index.q.out     |   2 ++
 .../results/clientpositive/udf_subtract.q.out    |   2 ++
 ql/src/test/results/clientpositive/udf_sum.q.out |   4 ++++
 ql/src/test/results/clientpositive/udf_tan.q.out |   4 ++++
 .../results/clientpositive/udf_tinyint.q.out     |   2 ++
 .../results/clientpositive/udf_to_date.q.out     |   2 ++
 .../clientpositive/udf_to_unix_timestamp.q.out   |   2 ++
 .../clientpositive/udf_to_utc_timestamp.q.out    |   2 ++
 .../results/clientpositive/udf_translate.q.out   |   2 ++
 .../test/results/clientpositive/udf_trim.q.out   |   2 ++
 .../test/results/clientpositive/udf_trunc.q.out  |   2 ++
 .../test/results/clientpositive/udf_ucase.q.out  |   2 ++
 .../test/results/clientpositive/udf_unhex.q.out  |   2 ++
 .../test/results/clientpositive/udf_union.q.out  |   2 ++
 .../clientpositive/udf_unix_timestamp.q.out      |   2 ++
 .../test/results/clientpositive/udf_upper.q.out  |   2 ++
 .../results/clientpositive/udf_var_pop.q.out     |   2 ++
 .../results/clientpositive/udf_var_samp.q.out    |   4 ++++
 .../results/clientpositive/udf_variance.q.out    |   8 ++++++++
 .../results/clientpositive/udf_weekofyear.q.out  |   2 ++
 .../test/results/clientpositive/udf_when.q.out   |   2 ++
 .../test/results/clientpositive/udf_xpath.q.out  |   2 ++
 .../clientpositive/udf_xpath_boolean.q.out       |   2 ++
 .../clientpositive/udf_xpath_double.q.out        |   4 ++++
 .../results/clientpositive/udf_xpath_float.q.out |   2 ++
 .../results/clientpositive/udf_xpath_int.q.out   |   2 ++
 .../results/clientpositive/udf_xpath_long.q.out  |   2 ++
 .../results/clientpositive/udf_xpath_short.q.out |   2 ++
 .../clientpositive/udf_xpath_string.q.out        |   2 ++
 .../results/clientpositive/udtf_explode.q.out    |   2 ++
 .../clientpositive/udtf_parse_url_tuple.q.out    |   2 ++
 .../clientpositive/udtf_replicate_rows.q.out     |   2 ++
 211 files changed, 484 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/contrib/src/test/results/clientpositive/dboutput.q.out
----------------------------------------------------------------------
diff --git a/contrib/src/test/results/clientpositive/dboutput.q.out b/contrib/src/test/results/clientpositive/dboutput.q.out
index dc79c6c..fb985ea 100644
--- a/contrib/src/test/results/clientpositive/dboutput.q.out
+++ b/contrib/src/test/results/clientpositive/dboutput.q.out
@@ -20,6 +20,8 @@ argument 2 is the password
 argument 3 is an SQL query to be used in the PreparedStatement
 argument (4-n) The remaining arguments must be primitive and are passed to the PreparedStatement object
 
+Function class:org.apache.hadoop.hive.contrib.genericudf.example.GenericUDFDBOutput
+Function type:TEMPORARY
 PREHOOK: query: EXPLAIN FROM src
 
 SELECT dboutput ( 'jdbc:derby:../build/test_dboutput_db;create=true','','',

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/contrib/src/test/results/clientpositive/udaf_example_max.q.out
----------------------------------------------------------------------
diff --git a/contrib/src/test/results/clientpositive/udaf_example_max.q.out b/contrib/src/test/results/clientpositive/udaf_example_max.q.out
index fc5a896..1794c1e 100644
--- a/contrib/src/test/results/clientpositive/udaf_example_max.q.out
+++ b/contrib/src/test/results/clientpositive/udaf_example_max.q.out
@@ -9,6 +9,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED example_max
 POSTHOOK: type: DESCFUNCTION
 example_max(expr) - Returns the maximum value of expr
+Function class:org.apache.hadoop.hive.contrib.udaf.example.UDAFExampleMax
+Function type:TEMPORARY
 PREHOOK: query: EXPLAIN
 SELECT example_max(substr(value,5)),
        example_max(IF(substr(value,5) > 250, NULL, substr(value,5)))

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/contrib/src/test/results/clientpositive/udaf_example_min.q.out
----------------------------------------------------------------------
diff --git a/contrib/src/test/results/clientpositive/udaf_example_min.q.out b/contrib/src/test/results/clientpositive/udaf_example_min.q.out
index feb2add..4f3f8f8 100644
--- a/contrib/src/test/results/clientpositive/udaf_example_min.q.out
+++ b/contrib/src/test/results/clientpositive/udaf_example_min.q.out
@@ -9,6 +9,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED example_min
 POSTHOOK: type: DESCFUNCTION
 example_min(expr) - Returns the minimum value of expr
+Function class:org.apache.hadoop.hive.contrib.udaf.example.UDAFExampleMin
+Function type:TEMPORARY
 PREHOOK: query: EXPLAIN
 SELECT example_min(substr(value,5)),
        example_min(IF(substr(value,5) > 250, NULL, substr(value,5)))

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/contrib/src/test/results/clientpositive/udf_row_sequence.q.out
----------------------------------------------------------------------
diff --git a/contrib/src/test/results/clientpositive/udf_row_sequence.q.out b/contrib/src/test/results/clientpositive/udf_row_sequence.q.out
index 14798ae..65c7732 100644
--- a/contrib/src/test/results/clientpositive/udf_row_sequence.q.out
+++ b/contrib/src/test/results/clientpositive/udf_row_sequence.q.out
@@ -23,6 +23,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED row_sequence
 POSTHOOK: type: DESCFUNCTION
 row_sequence() - Returns a generated row sequence number starting from 1
+Function class:org.apache.hadoop.hive.contrib.udf.UDFRowSequence
+Function type:TEMPORARY
 PREHOOK: query: explain
 select key, row_sequence() as r
 from (select key from src order by key) x

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
index 8a1a2ac..8a25399 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
@@ -99,6 +99,7 @@ import org.apache.hadoop.hive.ql.ErrorMsg;
 import org.apache.hadoop.hive.ql.QueryPlan;
 import org.apache.hadoop.hive.ql.QueryState;
 import org.apache.hadoop.hive.ql.exec.ArchiveUtils.PartSpecInfo;
+import org.apache.hadoop.hive.ql.exec.FunctionInfo.FunctionResource;
 import org.apache.hadoop.hive.ql.exec.tez.TezTask;
 import org.apache.hadoop.hive.ql.hooks.LineageInfo.DataContainer;
 import org.apache.hadoop.hive.ql.hooks.ReadEntity;
@@ -2954,6 +2955,20 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
       }
 
       outStream.write(terminator);
+      if (descFunc.isExtended()) {
+        if (funcClass != null) {
+          outStream.writeBytes("Function class:" + funcClass.getName() + "\n");
+        }
+        if (functionInfo != null) {
+          outStream.writeBytes("Function type:" + functionInfo.getFunctionType() + "\n");
+          FunctionResource[] resources = functionInfo.getResources();
+          if (resources != null) {
+            for (FunctionResource resource : resources) {
+              outStream.writeBytes("Resource:" + resource.getResourceURI() + "\n");
+            }
+          }
+        }
+      }
     } catch (FileNotFoundException e) {
       LOG.warn("describe function: " + stringifyException(e));
       return 1;

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/cbo_rp_udf_percentile.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cbo_rp_udf_percentile.q.out b/ql/src/test/results/clientpositive/cbo_rp_udf_percentile.q.out
index c699a95..3f8890b 100644
--- a/ql/src/test/results/clientpositive/cbo_rp_udf_percentile.q.out
+++ b/ql/src/test/results/clientpositive/cbo_rp_udf_percentile.q.out
@@ -8,6 +8,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED percentile
 POSTHOOK: type: DESCFUNCTION
 percentile(expr, pc) - Returns the percentile(s) of expr at pc (range: [0,1]).pc can be a double or double array
+Function class:org.apache.hadoop.hive.ql.udf.UDAFPercentile
+Function type:BUILTIN
 PREHOOK: query: -- SORT_QUERY_RESULTS
 
 SELECT CAST(key AS INT) DIV 10,

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/cbo_rp_udf_percentile2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cbo_rp_udf_percentile2.q.out b/ql/src/test/results/clientpositive/cbo_rp_udf_percentile2.q.out
index de6db7d..66d4f16 100644
--- a/ql/src/test/results/clientpositive/cbo_rp_udf_percentile2.q.out
+++ b/ql/src/test/results/clientpositive/cbo_rp_udf_percentile2.q.out
@@ -8,6 +8,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED percentile
 POSTHOOK: type: DESCFUNCTION
 percentile(expr, pc) - Returns the percentile(s) of expr at pc (range: [0,1]).pc can be a double or double array
+Function class:org.apache.hadoop.hive.ql.udf.UDAFPercentile
+Function type:BUILTIN
 PREHOOK: query: -- SORT_QUERY_RESULTS
 
 SELECT CAST(key AS INT) DIV 10,

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/cbo_udf_max.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cbo_udf_max.q.out b/ql/src/test/results/clientpositive/cbo_udf_max.q.out
index aa36489..461351d 100644
--- a/ql/src/test/results/clientpositive/cbo_udf_max.q.out
+++ b/ql/src/test/results/clientpositive/cbo_udf_max.q.out
@@ -8,6 +8,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED max
 POSTHOOK: type: DESCFUNCTION
 max(expr) - Returns the maximum value of expr
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDAFMax
+Function type:BUILTIN
 PREHOOK: query: SELECT max(struct(CAST(key as INT), value)),
        max(struct(key, value))
 FROM src

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/create_func1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/create_func1.q.out b/ql/src/test/results/clientpositive/create_func1.q.out
index 30c16c7..c5e035a 100644
--- a/ql/src/test/results/clientpositive/create_func1.q.out
+++ b/ql/src/test/results/clientpositive/create_func1.q.out
@@ -15,6 +15,8 @@ POSTHOOK: query: describe function extended qtest_get_java_boolean
 POSTHOOK: type: DESCFUNCTION
 qtest_get_java_boolean(str) - GenericUDF to return native Java's boolean type
 Synonyms: default.qtest_get_java_boolean
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFTestGetJavaBoolean
+Function type:PERSISTENT
 PREHOOK: query: create database mydb
 PREHOOK: type: CREATEDATABASE
 PREHOOK: Output: database:mydb
@@ -43,6 +45,8 @@ Synonyms: upper, ucase
 Example:
   > SELECT mydb.func1('Facebook') FROM src LIMIT 1;
   'FACEBOOK'
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFUpper
+Function type:PERSISTENT
 PREHOOK: query: select mydb.func1('abc') from src limit 1
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/llap/udaf_collect_set_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/udaf_collect_set_2.q.out b/ql/src/test/results/clientpositive/llap/udaf_collect_set_2.q.out
index f2e76a7..c622f96 100644
--- a/ql/src/test/results/clientpositive/llap/udaf_collect_set_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/udaf_collect_set_2.q.out
@@ -8,6 +8,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED collect_set
 POSTHOOK: type: DESCFUNCTION
 collect_set(x) - Returns a set of objects with duplicate elements eliminated
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDAFCollectSet
+Function type:BUILTIN
 PREHOOK: query: DESCRIBE FUNCTION collect_list
 PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION collect_list
@@ -18,6 +20,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED collect_list
 POSTHOOK: type: DESCFUNCTION
 collect_list(x) - Returns a list of objects with duplicates
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDAFCollectList
+Function type:BUILTIN
 PREHOOK: query: -- initialize tables
 
 CREATE TABLE customers (id int, name varchar(10), age int)

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/spark/udaf_collect_set.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/udaf_collect_set.q.out b/ql/src/test/results/clientpositive/spark/udaf_collect_set.q.out
index 42f2d9d..ee152ca 100644
--- a/ql/src/test/results/clientpositive/spark/udaf_collect_set.q.out
+++ b/ql/src/test/results/clientpositive/spark/udaf_collect_set.q.out
@@ -8,6 +8,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED collect_set
 POSTHOOK: type: DESCFUNCTION
 collect_set(x) - Returns a set of objects with duplicate elements eliminated
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDAFCollectSet
+Function type:BUILTIN
 PREHOOK: query: DESCRIBE FUNCTION collect_list
 PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION collect_list
@@ -18,6 +20,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED collect_list
 POSTHOOK: type: DESCFUNCTION
 collect_list(x) - Returns a list of objects with duplicates
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDAFCollectList
+Function type:BUILTIN
 PREHOOK: query: SELECT key, collect_set(value)
 FROM src
 GROUP BY key ORDER BY key limit 20

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/spark/udf_max.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/udf_max.q.out b/ql/src/test/results/clientpositive/spark/udf_max.q.out
index 8535752..9671bf1 100644
--- a/ql/src/test/results/clientpositive/spark/udf_max.q.out
+++ b/ql/src/test/results/clientpositive/spark/udf_max.q.out
@@ -8,6 +8,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED max
 POSTHOOK: type: DESCFUNCTION
 max(expr) - Returns the maximum value of expr
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDAFMax
+Function type:BUILTIN
 PREHOOK: query: SELECT max(struct(CAST(key as INT), value)),
        max(struct(key, value))
 FROM src

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/spark/udf_min.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/udf_min.q.out b/ql/src/test/results/clientpositive/spark/udf_min.q.out
index ca8158e..8d3d0a0 100644
--- a/ql/src/test/results/clientpositive/spark/udf_min.q.out
+++ b/ql/src/test/results/clientpositive/spark/udf_min.q.out
@@ -8,6 +8,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED min
 POSTHOOK: type: DESCFUNCTION
 min(expr) - Returns the minimum value of expr
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDAFMin
+Function type:BUILTIN
 PREHOOK: query: SELECT min(struct(CAST(key as INT), value)),
        min(struct(key, value))
 FROM src

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/spark/udf_percentile.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/udf_percentile.q.out b/ql/src/test/results/clientpositive/spark/udf_percentile.q.out
index c699a95..3f8890b 100644
--- a/ql/src/test/results/clientpositive/spark/udf_percentile.q.out
+++ b/ql/src/test/results/clientpositive/spark/udf_percentile.q.out
@@ -8,6 +8,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED percentile
 POSTHOOK: type: DESCFUNCTION
 percentile(expr, pc) - Returns the percentile(s) of expr at pc (range: [0,1]).pc can be a double or double array
+Function class:org.apache.hadoop.hive.ql.udf.UDAFPercentile
+Function type:BUILTIN
 PREHOOK: query: -- SORT_QUERY_RESULTS
 
 SELECT CAST(key AS INT) DIV 10,

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/str_to_map.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/str_to_map.q.out b/ql/src/test/results/clientpositive/str_to_map.q.out
index 30c98db..6afe1c8 100644
--- a/ql/src/test/results/clientpositive/str_to_map.q.out
+++ b/ql/src/test/results/clientpositive/str_to_map.q.out
@@ -9,6 +9,8 @@ POSTHOOK: query: desc function extended str_to_map
 POSTHOOK: type: DESCFUNCTION
 str_to_map(text, delimiter1, delimiter2) - Creates a map by parsing text 
 Split text into key-value pairs using two delimiters. The first delimiter seperates pairs, and the second delimiter sperates key and value. If only one parameter is given, default delimiters are used: ',' as delimiter1 and '=' as delimiter2.
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFStringToMap
+Function type:BUILTIN
 PREHOOK: query: explain select str_to_map('a=1,b=2,c=3',',','=')['a'] from src limit 3
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select str_to_map('a=1,b=2,c=3',',','=')['a'] from src limit 3

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udaf_collect_set.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udaf_collect_set.q.out b/ql/src/test/results/clientpositive/udaf_collect_set.q.out
index 42f2d9d..ee152ca 100644
--- a/ql/src/test/results/clientpositive/udaf_collect_set.q.out
+++ b/ql/src/test/results/clientpositive/udaf_collect_set.q.out
@@ -8,6 +8,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED collect_set
 POSTHOOK: type: DESCFUNCTION
 collect_set(x) - Returns a set of objects with duplicate elements eliminated
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDAFCollectSet
+Function type:BUILTIN
 PREHOOK: query: DESCRIBE FUNCTION collect_list
 PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION collect_list
@@ -18,6 +20,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED collect_list
 POSTHOOK: type: DESCFUNCTION
 collect_list(x) - Returns a list of objects with duplicates
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDAFCollectList
+Function type:BUILTIN
 PREHOOK: query: SELECT key, collect_set(value)
 FROM src
 GROUP BY key ORDER BY key limit 20

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udaf_corr.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udaf_corr.q.out b/ql/src/test/results/clientpositive/udaf_corr.q.out
index 1b468c4..b061763 100644
--- a/ql/src/test/results/clientpositive/udaf_corr.q.out
+++ b/ql/src/test/results/clientpositive/udaf_corr.q.out
@@ -43,6 +43,8 @@ a singleton set, NULL will be returned. Otherwise, it computes the following:
 where neither x nor y is null,
 COVAR_POP is the population covariance,
 and STDDEV_POP is the population standard deviation.
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDAFCorrelation
+Function type:BUILTIN
 PREHOOK: query: SELECT corr(b, c) FROM covar_tab WHERE a < 1
 PREHOOK: type: QUERY
 PREHOOK: Input: default@covar_tab

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udaf_covar_pop.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udaf_covar_pop.q.out b/ql/src/test/results/clientpositive/udaf_covar_pop.q.out
index 4a32636..555f484 100644
--- a/ql/src/test/results/clientpositive/udaf_covar_pop.q.out
+++ b/ql/src/test/results/clientpositive/udaf_covar_pop.q.out
@@ -39,6 +39,8 @@ Any pair with a NULL is ignored. If the function is applied to an empty set, NUL
 will be returned. Otherwise, it computes the following:
    (SUM(x*y)-SUM(x)*SUM(y)/COUNT(x,y))/COUNT(x,y)
 where neither x nor y is null.
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDAFCovariance
+Function type:BUILTIN
 PREHOOK: query: SELECT covar_pop(b, c) FROM covar_tab WHERE a < 1
 PREHOOK: type: QUERY
 PREHOOK: Input: default@covar_tab

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udaf_covar_samp.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udaf_covar_samp.q.out b/ql/src/test/results/clientpositive/udaf_covar_samp.q.out
index cbd8d78..a009f68 100644
--- a/ql/src/test/results/clientpositive/udaf_covar_samp.q.out
+++ b/ql/src/test/results/clientpositive/udaf_covar_samp.q.out
@@ -39,6 +39,8 @@ Any pair with a NULL is ignored. If the function is applied to an empty set, NUL
 will be returned. Otherwise, it computes the following:
    (SUM(x*y)-SUM(x)*SUM(y)/COUNT(x,y))/(COUNT(x,y)-1)
 where neither x nor y is null.
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDAFCovarianceSample
+Function type:BUILTIN
 PREHOOK: query: SELECT covar_samp(b, c) FROM covar_tab WHERE a < 1
 PREHOOK: type: QUERY
 PREHOOK: Input: default@covar_tab

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_E.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_E.q.out b/ql/src/test/results/clientpositive/udf_E.q.out
index fed6f3f..4ba0e1f 100644
--- a/ql/src/test/results/clientpositive/udf_E.q.out
+++ b/ql/src/test/results/clientpositive/udf_E.q.out
@@ -45,6 +45,8 @@ Synonyms: e
 Example:
  > SELECT E() FROM src LIMIT 1;
  2.718281828459045
+Function class:org.apache.hadoop.hive.ql.udf.UDFE
+Function type:BUILTIN
 PREHOOK: query: explain 
 select E() FROM src tablesample (1 rows)
 PREHOOK: type: QUERY
@@ -92,3 +94,5 @@ Synonyms: e
 Example:
  > SELECT E() FROM src LIMIT 1;
  2.718281828459045
+Function class:org.apache.hadoop.hive.ql.udf.UDFE
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_PI.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_PI.q.out b/ql/src/test/results/clientpositive/udf_PI.q.out
index 2015aa2..0479eef 100644
--- a/ql/src/test/results/clientpositive/udf_PI.q.out
+++ b/ql/src/test/results/clientpositive/udf_PI.q.out
@@ -45,6 +45,8 @@ Synonyms: pi
 Example:
  > SELECT PI() FROM src LIMIT 1;
  3.14159...
+Function class:org.apache.hadoop.hive.ql.udf.UDFPI
+Function type:BUILTIN
 PREHOOK: query: explain 
 select PI() FROM src tablesample (1 rows)
 PREHOOK: type: QUERY
@@ -92,3 +94,5 @@ Synonyms: pi
 Example:
  > SELECT PI() FROM src LIMIT 1;
  3.14159...
+Function class:org.apache.hadoop.hive.ql.udf.UDFPI
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_abs.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_abs.q.out b/ql/src/test/results/clientpositive/udf_abs.q.out
index 10e5458..5a8c4d7 100644
--- a/ql/src/test/results/clientpositive/udf_abs.q.out
+++ b/ql/src/test/results/clientpositive/udf_abs.q.out
@@ -13,6 +13,8 @@ Example:
   0
   > SELECT abs(-5) FROM src LIMIT 1;
   5
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFAbs
+Function type:BUILTIN
 PREHOOK: query: EXPLAIN SELECT
   abs(0),
   abs(-1),

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_acos.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_acos.q.out b/ql/src/test/results/clientpositive/udf_acos.q.out
index 311291a..fff2720 100644
--- a/ql/src/test/results/clientpositive/udf_acos.q.out
+++ b/ql/src/test/results/clientpositive/udf_acos.q.out
@@ -13,6 +13,8 @@ Example:
   0
   > SELECT acos(2) FROM src LIMIT 1;
   NULL
+Function class:org.apache.hadoop.hive.ql.udf.UDFAcos
+Function type:BUILTIN
 PREHOOK: query: SELECT acos(null)
 FROM src tablesample (1 rows)
 PREHOOK: type: QUERY

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_add.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_add.q.out b/ql/src/test/results/clientpositive/udf_add.q.out
index 0efdbe1..292cbac 100644
--- a/ql/src/test/results/clientpositive/udf_add.q.out
+++ b/ql/src/test/results/clientpositive/udf_add.q.out
@@ -8,3 +8,5 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED +
 POSTHOOK: type: DESCFUNCTION
 a + b - Returns a+b
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPPlus
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_add_months.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_add_months.q.out b/ql/src/test/results/clientpositive/udf_add_months.q.out
index 2639c33..3468b9f 100644
--- a/ql/src/test/results/clientpositive/udf_add_months.q.out
+++ b/ql/src/test/results/clientpositive/udf_add_months.q.out
@@ -12,6 +12,8 @@ start_date is a string in the format 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd'. num_
 Example:
   > SELECT add_months('2009-08-31', 1) FROM src LIMIT 1;
  '2009-09-30'
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFAddMonths
+Function type:BUILTIN
 PREHOOK: query: explain select add_months('2014-01-14', 1)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select add_months('2014-01-14', 1)

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_aes_decrypt.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_aes_decrypt.q.out b/ql/src/test/results/clientpositive/udf_aes_decrypt.q.out
index 83780a9..83ff03d 100644
--- a/ql/src/test/results/clientpositive/udf_aes_decrypt.q.out
+++ b/ql/src/test/results/clientpositive/udf_aes_decrypt.q.out
@@ -11,6 +11,8 @@ aes_decrypt(input binary, key string/binary) - Decrypt input using AES.
 AES (Advanced Encryption Standard) algorithm. Key lengths of 128, 192 or 256 bits can be used. 192 and 256 bits keys can be used if Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files are installed. If either argument is NULL or the key length is not one of the permitted values, the return value is NULL.
 Example: > SELECT aes_decrypt(unbase64('y6Ss+zCYObpCbgfWfyNWTw=='), '1234567890123456');
  'ABC'
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFAesDecrypt
+Function type:BUILTIN
 PREHOOK: query: explain select aes_decrypt(unbase64("y6Ss+zCYObpCbgfWfyNWTw=="), '1234567890123456')
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select aes_decrypt(unbase64("y6Ss+zCYObpCbgfWfyNWTw=="), '1234567890123456')

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_aes_encrypt.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_aes_encrypt.q.out b/ql/src/test/results/clientpositive/udf_aes_encrypt.q.out
index 9e356b2..2e1bf9e 100644
--- a/ql/src/test/results/clientpositive/udf_aes_encrypt.q.out
+++ b/ql/src/test/results/clientpositive/udf_aes_encrypt.q.out
@@ -11,6 +11,8 @@ aes_encrypt(input string/binary, key string/binary) - Encrypt input using AES.
 AES (Advanced Encryption Standard) algorithm. Key lengths of 128, 192 or 256 bits can be used. 192 and 256 bits keys can be used if Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files are installed. If either argument is NULL or the key length is not one of the permitted values, the return value is NULL.
 Example: > SELECT base64(aes_encrypt('ABC', '1234567890123456'));
  'y6Ss+zCYObpCbgfWfyNWTw=='
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFAesEncrypt
+Function type:BUILTIN
 PREHOOK: query: explain select aes_encrypt('ABC', '1234567890123456')
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select aes_encrypt('ABC', '1234567890123456')

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_array.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_array.q.out b/ql/src/test/results/clientpositive/udf_array.q.out
index b390c39..1abb399 100644
--- a/ql/src/test/results/clientpositive/udf_array.q.out
+++ b/ql/src/test/results/clientpositive/udf_array.q.out
@@ -8,6 +8,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED array
 POSTHOOK: type: DESCFUNCTION
 array(n0, n1...) - Creates an array with the given elements 
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFArray
+Function type:BUILTIN
 PREHOOK: query: EXPLAIN SELECT array(), array()[1], array(1, 2, 3), array(1, 2, 3)[2], array(1,"a", 2, 3), array(1,"a", 2, 3)[2],
 array(array(1), array(2), array(3), array(4))[1][0] FROM src tablesample (1 rows)
 PREHOOK: type: QUERY

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_array_contains.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_array_contains.q.out b/ql/src/test/results/clientpositive/udf_array_contains.q.out
index 63aafca..9320deb 100644
--- a/ql/src/test/results/clientpositive/udf_array_contains.q.out
+++ b/ql/src/test/results/clientpositive/udf_array_contains.q.out
@@ -11,6 +11,8 @@ array_contains(array, value) - Returns TRUE if the array contains value.
 Example:
   > SELECT array_contains(array(1, 2, 3), 2) FROM src LIMIT 1;
   true
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFArrayContains
+Function type:BUILTIN
 PREHOOK: query: -- evalutes function for array of primitives
 SELECT array_contains(array(1, 2, 3), 1) FROM src tablesample (1 rows)
 PREHOOK: type: QUERY

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_ascii.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_ascii.q.out b/ql/src/test/results/clientpositive/udf_ascii.q.out
index a755486..780e3e0 100644
--- a/ql/src/test/results/clientpositive/udf_ascii.q.out
+++ b/ql/src/test/results/clientpositive/udf_ascii.q.out
@@ -13,6 +13,8 @@ Example:
   > SELECT ascii('222') FROM src LIMIT 1;  50
   > SELECT ascii(2) FROM src LIMIT 1;
   50
+Function class:org.apache.hadoop.hive.ql.udf.UDFAscii
+Function type:BUILTIN
 PREHOOK: query: EXPLAIN SELECT
   ascii('Facebook'),
   ascii(''),

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_asin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_asin.q.out b/ql/src/test/results/clientpositive/udf_asin.q.out
index 39659af..c99e438 100644
--- a/ql/src/test/results/clientpositive/udf_asin.q.out
+++ b/ql/src/test/results/clientpositive/udf_asin.q.out
@@ -13,6 +13,8 @@ Example:
   0
   > SELECT asin(2) FROM src LIMIT 1;
   NULL
+Function class:org.apache.hadoop.hive.ql.udf.UDFAsin
+Function type:BUILTIN
 PREHOOK: query: SELECT asin(null)
 FROM src tablesample (1 rows)
 PREHOOK: type: QUERY

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_atan.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_atan.q.out b/ql/src/test/results/clientpositive/udf_atan.q.out
index cc1bf35..8f32ce7 100644
--- a/ql/src/test/results/clientpositive/udf_atan.q.out
+++ b/ql/src/test/results/clientpositive/udf_atan.q.out
@@ -11,6 +11,8 @@ atan(x) - returns the atan (arctan) of x (x is in radians)
 Example:
    > SELECT atan(0) FROM src LIMIT 1;
   0
+Function class:org.apache.hadoop.hive.ql.udf.UDFAtan
+Function type:BUILTIN
 PREHOOK: query: SELECT atan(null)
 FROM src tablesample (1 rows)
 PREHOOK: type: QUERY
@@ -46,6 +48,8 @@ atan(x) - returns the atan (arctan) of x (x is in radians)
 Example:
    > SELECT atan(0) FROM src LIMIT 1;
   0
+Function class:org.apache.hadoop.hive.ql.udf.UDFAtan
+Function type:BUILTIN
 PREHOOK: query: SELECT atan(null)
 FROM src tablesample (1 rows)
 PREHOOK: type: QUERY

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_avg.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_avg.q.out b/ql/src/test/results/clientpositive/udf_avg.q.out
index 7ac139f..5e1d4b7 100644
--- a/ql/src/test/results/clientpositive/udf_avg.q.out
+++ b/ql/src/test/results/clientpositive/udf_avg.q.out
@@ -8,3 +8,5 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED avg
 POSTHOOK: type: DESCFUNCTION
 avg(x) - Returns the mean of a set of numbers
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDAFAverage
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_between.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_between.q.out b/ql/src/test/results/clientpositive/udf_between.q.out
index bd9b4bb..5b01554 100644
--- a/ql/src/test/results/clientpositive/udf_between.q.out
+++ b/ql/src/test/results/clientpositive/udf_between.q.out
@@ -8,6 +8,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: describe function extended between
 POSTHOOK: type: DESCFUNCTION
 between a [NOT] BETWEEN b AND c - evaluate if a is [not] in between b and c
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFBetween
+Function type:BUILTIN
 PREHOOK: query: explain SELECT * FROM src where key + 100 between (150 + -50) AND (150 + 50) LIMIT 20
 PREHOOK: type: QUERY
 POSTHOOK: query: explain SELECT * FROM src where key + 100 between (150 + -50) AND (150 + 50) LIMIT 20

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_bigint.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_bigint.q.out b/ql/src/test/results/clientpositive/udf_bigint.q.out
index 36f809a..5a7430e 100644
--- a/ql/src/test/results/clientpositive/udf_bigint.q.out
+++ b/ql/src/test/results/clientpositive/udf_bigint.q.out
@@ -8,3 +8,5 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED bigint
 POSTHOOK: type: DESCFUNCTION
 There is no documentation for function 'bigint'
+Function class:org.apache.hadoop.hive.ql.udf.UDFToLong
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_bin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_bin.q.out b/ql/src/test/results/clientpositive/udf_bin.q.out
index e83df28..c34a549 100644
--- a/ql/src/test/results/clientpositive/udf_bin.q.out
+++ b/ql/src/test/results/clientpositive/udf_bin.q.out
@@ -12,6 +12,8 @@ n is a BIGINT. Returns NULL if n is NULL.
 Example:
   > SELECT bin(13) FROM src LIMIT 1
   '1101'
+Function class:org.apache.hadoop.hive.ql.udf.UDFBin
+Function type:BUILTIN
 PREHOOK: query: SELECT
   bin(1),
   bin(0),

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_bitwise_and.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_bitwise_and.q.out b/ql/src/test/results/clientpositive/udf_bitwise_and.q.out
index bfd2253..bab2518 100644
--- a/ql/src/test/results/clientpositive/udf_bitwise_and.q.out
+++ b/ql/src/test/results/clientpositive/udf_bitwise_and.q.out
@@ -11,3 +11,5 @@ a & b - Bitwise and
 Example:
   > SELECT 3 & 5 FROM src LIMIT 1;
   1
+Function class:org.apache.hadoop.hive.ql.udf.UDFOPBitAnd
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_bitwise_not.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_bitwise_not.q.out b/ql/src/test/results/clientpositive/udf_bitwise_not.q.out
index 1da99fc..f5e6156 100644
--- a/ql/src/test/results/clientpositive/udf_bitwise_not.q.out
+++ b/ql/src/test/results/clientpositive/udf_bitwise_not.q.out
@@ -11,3 +11,5 @@ POSTHOOK: type: DESCFUNCTION
 Example:
   > SELECT ~ 0 FROM src LIMIT 1;
   -1
+Function class:org.apache.hadoop.hive.ql.udf.UDFOPBitNot
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_bitwise_or.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_bitwise_or.q.out b/ql/src/test/results/clientpositive/udf_bitwise_or.q.out
index d3e7237..71debdb 100644
--- a/ql/src/test/results/clientpositive/udf_bitwise_or.q.out
+++ b/ql/src/test/results/clientpositive/udf_bitwise_or.q.out
@@ -11,3 +11,5 @@ a | b - Bitwise or
 Example:
   > SELECT 3 | 5 FROM src LIMIT 1;
   7
+Function class:org.apache.hadoop.hive.ql.udf.UDFOPBitOr
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_bitwise_shiftleft.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_bitwise_shiftleft.q.out b/ql/src/test/results/clientpositive/udf_bitwise_shiftleft.q.out
index 62d41a6..faea544 100644
--- a/ql/src/test/results/clientpositive/udf_bitwise_shiftleft.q.out
+++ b/ql/src/test/results/clientpositive/udf_bitwise_shiftleft.q.out
@@ -12,6 +12,8 @@ Returns int for tinyint, smallint and int a. Returns bigint for bigint a.
 Example:
   > SELECT shiftleft(2, 1);
   4
+Function class:org.apache.hadoop.hive.ql.udf.UDFOPBitShiftLeft
+Function type:BUILTIN
 PREHOOK: query: explain select shiftleft(4, 1)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select shiftleft(4, 1)

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_bitwise_shiftright.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_bitwise_shiftright.q.out b/ql/src/test/results/clientpositive/udf_bitwise_shiftright.q.out
index 25c8d86..1d297c1 100644
--- a/ql/src/test/results/clientpositive/udf_bitwise_shiftright.q.out
+++ b/ql/src/test/results/clientpositive/udf_bitwise_shiftright.q.out
@@ -12,6 +12,8 @@ Returns int for tinyint, smallint and int a. Returns bigint for bigint a.
 Example:
   > SELECT shiftright(4, 1);
   2
+Function class:org.apache.hadoop.hive.ql.udf.UDFOPBitShiftRight
+Function type:BUILTIN
 PREHOOK: query: explain select shiftright(4, 1)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select shiftright(4, 1)

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_bitwise_shiftrightunsigned.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_bitwise_shiftrightunsigned.q.out b/ql/src/test/results/clientpositive/udf_bitwise_shiftrightunsigned.q.out
index 5583fb2..8f194f0 100644
--- a/ql/src/test/results/clientpositive/udf_bitwise_shiftrightunsigned.q.out
+++ b/ql/src/test/results/clientpositive/udf_bitwise_shiftrightunsigned.q.out
@@ -12,6 +12,8 @@ Returns int for tinyint, smallint and int a. Returns bigint for bigint a.
 Example:
   > SELECT shiftrightunsigned(4, 1);
   2
+Function class:org.apache.hadoop.hive.ql.udf.UDFOPBitShiftRightUnsigned
+Function type:BUILTIN
 PREHOOK: query: explain select shiftrightunsigned(4, 1)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select shiftrightunsigned(4, 1)

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_bitwise_xor.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_bitwise_xor.q.out b/ql/src/test/results/clientpositive/udf_bitwise_xor.q.out
index 72f721e..4a24db3 100644
--- a/ql/src/test/results/clientpositive/udf_bitwise_xor.q.out
+++ b/ql/src/test/results/clientpositive/udf_bitwise_xor.q.out
@@ -11,3 +11,5 @@ a ^ b - Bitwise exclusive or
 Example:
   > SELECT 3 ^ 5 FROM src LIMIT 1;
   2
+Function class:org.apache.hadoop.hive.ql.udf.UDFOPBitXor
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_boolean.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_boolean.q.out b/ql/src/test/results/clientpositive/udf_boolean.q.out
index d4f299c..8d66d5c 100644
--- a/ql/src/test/results/clientpositive/udf_boolean.q.out
+++ b/ql/src/test/results/clientpositive/udf_boolean.q.out
@@ -8,3 +8,5 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED boolean
 POSTHOOK: type: DESCFUNCTION
 There is no documentation for function 'boolean'
+Function class:org.apache.hadoop.hive.ql.udf.UDFToBoolean
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_bround.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_bround.q.out b/ql/src/test/results/clientpositive/udf_bround.q.out
index fd6354d..d3cd0d4 100644
--- a/ql/src/test/results/clientpositive/udf_bround.q.out
+++ b/ql/src/test/results/clientpositive/udf_bround.q.out
@@ -12,6 +12,8 @@ Banker's rounding. The value is rounded to the nearest even number. Also known a
 Example:
   > SELECT bround(12.25, 1);
   12.2
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFBRound
+Function type:BUILTIN
 PREHOOK: query: select
 bround(2.5),
 bround(3.5),

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_case.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_case.q.out b/ql/src/test/results/clientpositive/udf_case.q.out
index efa58a8..3933496 100644
--- a/ql/src/test/results/clientpositive/udf_case.q.out
+++ b/ql/src/test/results/clientpositive/udf_case.q.out
@@ -20,6 +20,8 @@ Example:
    ELSE Asia-Pac
  END
  FROM emp_details
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFCase
+Function type:BUILTIN
 PREHOOK: query: EXPLAIN
 SELECT CASE 1
         WHEN 1 THEN 2

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_cbrt.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_cbrt.q.out b/ql/src/test/results/clientpositive/udf_cbrt.q.out
index 5366d2e..de90a12 100644
--- a/ql/src/test/results/clientpositive/udf_cbrt.q.out
+++ b/ql/src/test/results/clientpositive/udf_cbrt.q.out
@@ -11,6 +11,8 @@ cbrt(double) - Returns the cube root of a double value.
 Example:
  > SELECT cbrt(27.0);
  3.0
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFCbrt
+Function type:BUILTIN
 PREHOOK: query: explain select cbrt(27.0)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select cbrt(27.0)

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_ceil.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_ceil.q.out b/ql/src/test/results/clientpositive/udf_ceil.q.out
index 0cb7eee..a62d2db 100644
--- a/ql/src/test/results/clientpositive/udf_ceil.q.out
+++ b/ql/src/test/results/clientpositive/udf_ceil.q.out
@@ -14,3 +14,5 @@ Example:
   0
   > SELECT ceil(5) FROM src LIMIT 1;
   5
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFCeil
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_ceiling.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_ceiling.q.out b/ql/src/test/results/clientpositive/udf_ceiling.q.out
index 6e89322..1c0fbd1 100644
--- a/ql/src/test/results/clientpositive/udf_ceiling.q.out
+++ b/ql/src/test/results/clientpositive/udf_ceiling.q.out
@@ -14,3 +14,5 @@ Example:
   0
   > SELECT ceiling(5) FROM src LIMIT 1;
   5
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFCeil
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_chr.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_chr.q.out b/ql/src/test/results/clientpositive/udf_chr.q.out
index a662e70..98ab3c3 100644
Binary files a/ql/src/test/results/clientpositive/udf_chr.q.out and b/ql/src/test/results/clientpositive/udf_chr.q.out differ

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_coalesce.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_coalesce.q.out b/ql/src/test/results/clientpositive/udf_coalesce.q.out
index 81e85fc..361d173 100644
--- a/ql/src/test/results/clientpositive/udf_coalesce.q.out
+++ b/ql/src/test/results/clientpositive/udf_coalesce.q.out
@@ -11,6 +11,8 @@ coalesce(a1, a2, ...) - Returns the first non-null argument
 Example:
   > SELECT coalesce(NULL, 1, NULL) FROM src LIMIT 1;
   1
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFCoalesce
+Function type:BUILTIN
 PREHOOK: query: EXPLAIN
 SELECT COALESCE(1),
        COALESCE(1, 2),

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_concat.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_concat.q.out b/ql/src/test/results/clientpositive/udf_concat.q.out
index 6cc4c0f..00b87b4 100644
--- a/ql/src/test/results/clientpositive/udf_concat.q.out
+++ b/ql/src/test/results/clientpositive/udf_concat.q.out
@@ -12,6 +12,8 @@ Returns NULL if any argument is NULL.
 Example:
   > SELECT concat('abc', 'def') FROM src LIMIT 1;
   'abcdef'
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFConcat
+Function type:BUILTIN
 PREHOOK: query: SELECT
   concat('a', 'b'),
   concat('a', 'b', 'c'),

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_concat_ws.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_concat_ws.q.out b/ql/src/test/results/clientpositive/udf_concat_ws.q.out
index ea2d703..09a2ed4 100644
--- a/ql/src/test/results/clientpositive/udf_concat_ws.q.out
+++ b/ql/src/test/results/clientpositive/udf_concat_ws.q.out
@@ -11,6 +11,8 @@ concat_ws(separator, [string | array(string)]+) - returns the concatenation of t
 Example:
   > SELECT concat_ws('.', 'www', array('facebook', 'com')) FROM src LIMIT 1;
   'www.facebook.com'
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFConcatWS
+Function type:BUILTIN
 PREHOOK: query: CREATE TABLE dest1(c1 STRING, c2 STRING, c3 STRING)
 PREHOOK: type: CREATETABLE
 PREHOOK: Output: database:default

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_conv.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_conv.q.out b/ql/src/test/results/clientpositive/udf_conv.q.out
index 09b256d..036bbfb 100644
--- a/ql/src/test/results/clientpositive/udf_conv.q.out
+++ b/ql/src/test/results/clientpositive/udf_conv.q.out
@@ -14,6 +14,8 @@ Example:
   '4'
   > SELECT conv(-10, 16, -10) FROM src LIMIT 1;
   '16'
+Function class:org.apache.hadoop.hive.ql.udf.UDFConv
+Function type:BUILTIN
 PREHOOK: query: -- conv must work on both strings and integers up to 64-bit precision
 
 -- Some simple conversions to test different bases

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_cos.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_cos.q.out b/ql/src/test/results/clientpositive/udf_cos.q.out
index 02ba24e..5b7560a 100644
--- a/ql/src/test/results/clientpositive/udf_cos.q.out
+++ b/ql/src/test/results/clientpositive/udf_cos.q.out
@@ -11,6 +11,8 @@ cos(x) - returns the cosine of x (x is in radians)
 Example:
    > SELECT cos(0) FROM src LIMIT 1;
   1
+Function class:org.apache.hadoop.hive.ql.udf.UDFCos
+Function type:BUILTIN
 PREHOOK: query: SELECT cos(null)
 FROM src tablesample (1 rows)
 PREHOOK: type: QUERY

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_count.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_count.q.out b/ql/src/test/results/clientpositive/udf_count.q.out
index 4c5c4ec..f60ad04 100644
--- a/ql/src/test/results/clientpositive/udf_count.q.out
+++ b/ql/src/test/results/clientpositive/udf_count.q.out
@@ -12,6 +12,8 @@ POSTHOOK: type: DESCFUNCTION
 count(*) - Returns the total number of retrieved rows, including rows containing NULL values.
 count(expr) - Returns the number of rows for which the supplied expression is non-NULL.
 count(DISTINCT expr[, expr...]) - Returns the number of rows for which the supplied expression(s) are unique and non-NULL.
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDAFCount
+Function type:BUILTIN
 PREHOOK: query: EXPLAIN SELECT count(key) FROM src
 PREHOOK: type: QUERY
 POSTHOOK: query: EXPLAIN SELECT count(key) FROM src

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_crc32.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_crc32.q.out b/ql/src/test/results/clientpositive/udf_crc32.q.out
index 59fba15..c40d670 100644
--- a/ql/src/test/results/clientpositive/udf_crc32.q.out
+++ b/ql/src/test/results/clientpositive/udf_crc32.q.out
@@ -13,6 +13,8 @@ Example:
   2743272264
   > SELECT crc32(binary('ABC'));
   2743272264
+Function class:org.apache.hadoop.hive.ql.udf.UDFCrc32
+Function type:BUILTIN
 PREHOOK: query: explain select crc32('ABC')
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select crc32('ABC')

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_current_user.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_current_user.q.out b/ql/src/test/results/clientpositive/udf_current_user.q.out
index 8262462..86ba8f9 100644
--- a/ql/src/test/results/clientpositive/udf_current_user.q.out
+++ b/ql/src/test/results/clientpositive/udf_current_user.q.out
@@ -9,6 +9,8 @@ POSTHOOK: query: DESCRIBE FUNCTION EXTENDED current_user
 POSTHOOK: type: DESCFUNCTION
 current_user() - Returns current user name
 SessionState UserFromAuthenticator
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFCurrentUser
+Function type:BUILTIN
 PREHOOK: query: select current_user()
 FROM src tablesample (1 rows)
 PREHOOK: type: QUERY

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_date_add.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_date_add.q.out b/ql/src/test/results/clientpositive/udf_date_add.q.out
index 12ce15b..54d9022 100644
--- a/ql/src/test/results/clientpositive/udf_date_add.q.out
+++ b/ql/src/test/results/clientpositive/udf_date_add.q.out
@@ -12,6 +12,8 @@ start_date is a string in the format 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd'. num_
 Example:
    > SELECT date_add('2009-07-30', 1) FROM src LIMIT 1;
   '2009-07-31'
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFDateAdd
+Function type:BUILTIN
 PREHOOK: query: -- Test different numeric data types for date_add
 SELECT date_add('1900-01-01', cast(10 as tinyint)),
        date_add('1900-01-01', cast(10 as smallint)),

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_date_format.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_date_format.q.out b/ql/src/test/results/clientpositive/udf_date_format.q.out
index 9b39ae4..08eb469 100644
--- a/ql/src/test/results/clientpositive/udf_date_format.q.out
+++ b/ql/src/test/results/clientpositive/udf_date_format.q.out
@@ -11,6 +11,8 @@ date_format(date/timestamp/string, fmt) - converts a date/timestamp/string to a
 Supported formats are SimpleDateFormat formats - https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html. Second argument fmt should be constant.
 Example: > SELECT date_format('2015-04-08', 'y');
  '2015'
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFDateFormat
+Function type:BUILTIN
 PREHOOK: query: explain select date_format('2015-04-08', 'EEEE')
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select date_format('2015-04-08', 'EEEE')

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_date_sub.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_date_sub.q.out b/ql/src/test/results/clientpositive/udf_date_sub.q.out
index 2ee1ee5..ac3b4aa 100644
--- a/ql/src/test/results/clientpositive/udf_date_sub.q.out
+++ b/ql/src/test/results/clientpositive/udf_date_sub.q.out
@@ -12,6 +12,8 @@ start_date is a string in the format 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd'. num_
 Example:
    > SELECT date_sub('2009-07-30', 1) FROM src LIMIT 1;
   '2009-07-29'
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFDateSub
+Function type:BUILTIN
 PREHOOK: query: -- Test different numeric data types for date_add
 SELECT date_sub('1900-01-01', cast(10 as tinyint)),
        date_sub('1900-01-01', cast(10 as smallint)),

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_datediff.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_datediff.q.out b/ql/src/test/results/clientpositive/udf_datediff.q.out
index 86f30f6..b78d902 100644
--- a/ql/src/test/results/clientpositive/udf_datediff.q.out
+++ b/ql/src/test/results/clientpositive/udf_datediff.q.out
@@ -12,3 +12,5 @@ date1 and date2 are strings in the format 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd'.
 Example:
    > SELECT datediff('2009-07-30', '2009-07-31') FROM src LIMIT 1;
   1
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFDateDiff
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_day.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_day.q.out b/ql/src/test/results/clientpositive/udf_day.q.out
index 4131531..48e8161 100644
--- a/ql/src/test/results/clientpositive/udf_day.q.out
+++ b/ql/src/test/results/clientpositive/udf_day.q.out
@@ -16,3 +16,5 @@ param can be one of:
 4. A day-time interval valueExample:
    > SELECT day('2009-07-30') FROM src LIMIT 1;
   30
+Function class:org.apache.hadoop.hive.ql.udf.UDFDayOfMonth
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_dayofmonth.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_dayofmonth.q.out b/ql/src/test/results/clientpositive/udf_dayofmonth.q.out
index e31154e..3f12c01 100644
--- a/ql/src/test/results/clientpositive/udf_dayofmonth.q.out
+++ b/ql/src/test/results/clientpositive/udf_dayofmonth.q.out
@@ -16,3 +16,5 @@ param can be one of:
 4. A day-time interval valueExample:
    > SELECT dayofmonth('2009-07-30') FROM src LIMIT 1;
   30
+Function class:org.apache.hadoop.hive.ql.udf.UDFDayOfMonth
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_decode.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_decode.q.out b/ql/src/test/results/clientpositive/udf_decode.q.out
index a3608d1..d381544 100644
--- a/ql/src/test/results/clientpositive/udf_decode.q.out
+++ b/ql/src/test/results/clientpositive/udf_decode.q.out
@@ -11,6 +11,8 @@ decode(bin, str) - Decode the first argument using the second argument character
 Possible options for the character set are 'US-ASCII', 'ISO-8859-1',
 'UTF-8', 'UTF-16BE', 'UTF-16LE', and 'UTF-16'. If either argument
 is null, the result will also be null
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFDecode
+Function type:BUILTIN
 PREHOOK: query: explain select decode(binary('TestDecode1'), 'UTF-8')
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select decode(binary('TestDecode1'), 'UTF-8')

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_degrees.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_degrees.q.out b/ql/src/test/results/clientpositive/udf_degrees.q.out
index 2a7408e..867663b 100644
--- a/ql/src/test/results/clientpositive/udf_degrees.q.out
+++ b/ql/src/test/results/clientpositive/udf_degrees.q.out
@@ -45,6 +45,8 @@ Example:
   > SELECT degrees(30) FROM src LIMIT 1;
   -1
 
+Function class:org.apache.hadoop.hive.ql.udf.UDFDegrees
+Function type:BUILTIN
 PREHOOK: query: explain 
 select degrees(PI()) FROM src tablesample (1 rows)
 PREHOOK: type: QUERY
@@ -92,3 +94,5 @@ Example:
   > SELECT degrees(30) FROM src LIMIT 1;
   -1
 
+Function class:org.apache.hadoop.hive.ql.udf.UDFDegrees
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_div.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_div.q.out b/ql/src/test/results/clientpositive/udf_div.q.out
index d200e0c..1ccfca4 100644
--- a/ql/src/test/results/clientpositive/udf_div.q.out
+++ b/ql/src/test/results/clientpositive/udf_div.q.out
@@ -11,6 +11,8 @@ a div b - Divide a by b rounded to the long integer
 Example:
   > SELECT 3 div 2 FROM src LIMIT 1;
   1
+Function class:org.apache.hadoop.hive.ql.udf.UDFOPLongDivide
+Function type:BUILTIN
 PREHOOK: query: SELECT 3 DIV 2 FROM SRC tablesample (1 rows)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_divide.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_divide.q.out b/ql/src/test/results/clientpositive/udf_divide.q.out
index e0594cf..b22122a 100644
--- a/ql/src/test/results/clientpositive/udf_divide.q.out
+++ b/ql/src/test/results/clientpositive/udf_divide.q.out
@@ -11,6 +11,8 @@ a / b - Divide a by b
 Example:
   > SELECT 3 / 2 FROM src LIMIT 1;
   1.5
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPDivide
+Function type:BUILTIN
 PREHOOK: query: SELECT 3 / 2 FROM SRC tablesample (1 rows)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_double.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_double.q.out b/ql/src/test/results/clientpositive/udf_double.q.out
index 857bbbb..f34efca 100644
--- a/ql/src/test/results/clientpositive/udf_double.q.out
+++ b/ql/src/test/results/clientpositive/udf_double.q.out
@@ -8,3 +8,5 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED double
 POSTHOOK: type: DESCFUNCTION
 There is no documentation for function 'double'
+Function class:org.apache.hadoop.hive.ql.udf.UDFToDouble
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_elt.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_elt.q.out b/ql/src/test/results/clientpositive/udf_elt.q.out
index 8edfa6d..792a1e8 100644
--- a/ql/src/test/results/clientpositive/udf_elt.q.out
+++ b/ql/src/test/results/clientpositive/udf_elt.q.out
@@ -11,6 +11,8 @@ elt(n, str1, str2, ...) - returns the n-th string
 Example:
   > SELECT elt(1, 'face', 'book') FROM src LIMIT 1;
   'face'
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFElt
+Function type:BUILTIN
 PREHOOK: query: EXPLAIN
 SELECT elt(2, 'abc', 'defg'),
        elt(3, 'aa', 'bb', 'cc', 'dd', 'ee', 'ff', 'gg'),

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_equal.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_equal.q.out b/ql/src/test/results/clientpositive/udf_equal.q.out
index 0aad354..52bd843 100644
--- a/ql/src/test/results/clientpositive/udf_equal.q.out
+++ b/ql/src/test/results/clientpositive/udf_equal.q.out
@@ -9,6 +9,8 @@ POSTHOOK: query: DESCRIBE FUNCTION EXTENDED =
 POSTHOOK: type: DESCFUNCTION
 a = b - Returns TRUE if a equals b and false otherwise
 Synonyms: ==
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPEqual
+Function type:BUILTIN
 PREHOOK: query: DESCRIBE FUNCTION ==
 PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION ==
@@ -20,6 +22,8 @@ POSTHOOK: query: DESCRIBE FUNCTION EXTENDED ==
 POSTHOOK: type: DESCFUNCTION
 a == b - Returns TRUE if a equals b and false otherwise
 Synonyms: =
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPEqual
+Function type:BUILTIN
 PREHOOK: query: SELECT true=false, false=true, false=false, true=true, NULL=NULL, true=NULL, NULL=true, false=NULL, NULL=false FROM src tablesample (1 rows)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src
@@ -39,6 +43,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED <=>
 POSTHOOK: type: DESCFUNCTION
 a <=> b - Returns same result with EQUAL(=) operator for non-null operands, but returns TRUE if both are NULL, FALSE if one of the them is NULL
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPEqualNS
+Function type:BUILTIN
 PREHOOK: query: SELECT true<=>false, false<=>true, false<=>false, true<=>true, NULL<=>NULL, true<=>NULL, NULL<=>true, false<=>NULL, NULL<=>false FROM src tablesample (1 rows)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_exp.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_exp.q.out b/ql/src/test/results/clientpositive/udf_exp.q.out
index ef97ac5..b2042ba 100644
--- a/ql/src/test/results/clientpositive/udf_exp.q.out
+++ b/ql/src/test/results/clientpositive/udf_exp.q.out
@@ -11,3 +11,5 @@ exp(x) - Returns e to the power of x
 Example:
    > SELECT exp(0) FROM src LIMIT 1;
   1
+Function class:org.apache.hadoop.hive.ql.udf.UDFExp
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_explode.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_explode.q.out b/ql/src/test/results/clientpositive/udf_explode.q.out
index bd68e96..0a3ab11 100644
--- a/ql/src/test/results/clientpositive/udf_explode.q.out
+++ b/ql/src/test/results/clientpositive/udf_explode.q.out
@@ -8,6 +8,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED explode
 POSTHOOK: type: DESCFUNCTION
 explode(a) - separates the elements of array a into multiple rows, or the elements of a map into multiple rows and columns 
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDTFExplode
+Function type:BUILTIN
 PREHOOK: query: EXPLAIN EXTENDED SELECT explode(array(1,2,3)) AS myCol FROM src tablesample (1 rows)
 PREHOOK: type: QUERY
 POSTHOOK: query: EXPLAIN EXTENDED SELECT explode(array(1,2,3)) AS myCol FROM src tablesample (1 rows)

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_factorial.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_factorial.q.out b/ql/src/test/results/clientpositive/udf_factorial.q.out
index 7cdf42c..634ed0e 100644
--- a/ql/src/test/results/clientpositive/udf_factorial.q.out
+++ b/ql/src/test/results/clientpositive/udf_factorial.q.out
@@ -12,6 +12,8 @@ Returns null if n is out of [0..20] range.
 Example:
  > SELECT factorial(5);
  120
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFFactorial
+Function type:BUILTIN
 PREHOOK: query: explain select factorial(5)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select factorial(5)

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_field.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_field.q.out b/ql/src/test/results/clientpositive/udf_field.q.out
index 8786608..186cdd9 100644
--- a/ql/src/test/results/clientpositive/udf_field.q.out
+++ b/ql/src/test/results/clientpositive/udf_field.q.out
@@ -9,6 +9,8 @@ POSTHOOK: query: DESCRIBE FUNCTION EXTENDED field
 POSTHOOK: type: DESCFUNCTION
 field(str, str1, str2, ...) - returns the index of str in the str1,str2,... list or 0 if not found
 All primitive types are supported, arguments are compared using str.equals(x). If str is NULL, the return value is 0.
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFField
+Function type:BUILTIN
 PREHOOK: query: SELECT
   field("x", "a", "b", "c", "d"),
   field(NULL, "a", "b", "c", "d"),

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_find_in_set.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_find_in_set.q.out b/ql/src/test/results/clientpositive/udf_find_in_set.q.out
index 9d01f7b..79ce332 100644
--- a/ql/src/test/results/clientpositive/udf_find_in_set.q.out
+++ b/ql/src/test/results/clientpositive/udf_find_in_set.q.out
@@ -14,6 +14,8 @@ Example:
   > SELECT * FROM src1 WHERE NOT find_in_set(key,'311,128,345,956')=0;
   311  val_311
   128
+Function class:org.apache.hadoop.hive.ql.udf.UDFFindInSet
+Function type:BUILTIN
 PREHOOK: query: EXPLAIN
 FROM src1 SELECT find_in_set(src1.key,concat(src1.key,',',src1.value))
 PREHOOK: type: QUERY

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_float.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_float.q.out b/ql/src/test/results/clientpositive/udf_float.q.out
index bb034f3..d151329 100644
--- a/ql/src/test/results/clientpositive/udf_float.q.out
+++ b/ql/src/test/results/clientpositive/udf_float.q.out
@@ -8,3 +8,5 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED float
 POSTHOOK: type: DESCFUNCTION
 There is no documentation for function 'float'
+Function class:org.apache.hadoop.hive.ql.udf.UDFToFloat
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_floor.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_floor.q.out b/ql/src/test/results/clientpositive/udf_floor.q.out
index ccd0c00..4e5d7e8 100644
--- a/ql/src/test/results/clientpositive/udf_floor.q.out
+++ b/ql/src/test/results/clientpositive/udf_floor.q.out
@@ -13,3 +13,5 @@ Example:
   -1
   > SELECT floor(5) FROM src LIMIT 1;
   5
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFFloor
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_format_number.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_format_number.q.out b/ql/src/test/results/clientpositive/udf_format_number.q.out
index a860f9e..602f78b 100644
--- a/ql/src/test/results/clientpositive/udf_format_number.q.out
+++ b/ql/src/test/results/clientpositive/udf_format_number.q.out
@@ -23,6 +23,8 @@ Example:
   '12,332.1235'
   > SELECT format_number(12332.123456, '##################.###') FROM src LIMIT 1;
   '12332.123'
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFFormatNumber
+Function type:BUILTIN
 PREHOOK: query: EXPLAIN
 SELECT format_number(12332.123456, 4),
     format_number(12332.1,4),

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_from_unixtime.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_from_unixtime.q.out b/ql/src/test/results/clientpositive/udf_from_unixtime.q.out
index 605df1a..87af1f7 100644
--- a/ql/src/test/results/clientpositive/udf_from_unixtime.q.out
+++ b/ql/src/test/results/clientpositive/udf_from_unixtime.q.out
@@ -11,3 +11,5 @@ from_unixtime(unix_time, format) - returns unix_time in the specified format
 Example:
   > SELECT from_unixtime(0, 'yyyy-MM-dd HH:mm:ss') FROM src LIMIT 1;
   '1970-01-01 00:00:00'
+Function class:org.apache.hadoop.hive.ql.udf.UDFFromUnixTime
+Function type:BUILTIN

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_from_utc_timestamp.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_from_utc_timestamp.q.out b/ql/src/test/results/clientpositive/udf_from_utc_timestamp.q.out
index be2cb1a..1f91fbf 100644
--- a/ql/src/test/results/clientpositive/udf_from_utc_timestamp.q.out
+++ b/ql/src/test/results/clientpositive/udf_from_utc_timestamp.q.out
@@ -8,6 +8,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESC FUNCTION EXTENDED from_utc_timestamp
 POSTHOOK: type: DESCFUNCTION
 from_utc_timestamp(timestamp, string timezone) - Assumes given timestamp is UTC and converts to given timezone (as of Hive 0.8.0)
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFFromUtcTimestamp
+Function type:BUILTIN
 PREHOOK: query: explain select from_utc_timestamp('2012-02-11 10:30:00', 'PST')
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select from_utc_timestamp('2012-02-11 10:30:00', 'PST')

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_get_json_object.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_get_json_object.q.out b/ql/src/test/results/clientpositive/udf_get_json_object.q.out
index fb95700..0ce9608 100644
--- a/ql/src/test/results/clientpositive/udf_get_json_object.q.out
+++ b/ql/src/test/results/clientpositive/udf_get_json_object.q.out
@@ -23,6 +23,8 @@ Syntax not supported that's worth noticing:
   [,] : Union operator
   [start:end:step] : array slice operator
 
+Function class:org.apache.hadoop.hive.ql.udf.UDFJson
+Function type:BUILTIN
 PREHOOK: query: CREATE TABLE dest1(c1 STRING) STORED AS TEXTFILE
 PREHOOK: type: CREATETABLE
 PREHOOK: Output: database:default

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_greaterthan.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_greaterthan.q.out b/ql/src/test/results/clientpositive/udf_greaterthan.q.out
index bf31f31..c8d0e81 100644
--- a/ql/src/test/results/clientpositive/udf_greaterthan.q.out
+++ b/ql/src/test/results/clientpositive/udf_greaterthan.q.out
@@ -8,6 +8,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED >
 POSTHOOK: type: DESCFUNCTION
 a > b - Returns TRUE if a is greater than b
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPGreaterThan
+Function type:BUILTIN
 PREHOOK: query: SELECT true>false, false>true, false>false, true>true FROM src tablesample (1 rows)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_greaterthanorequal.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_greaterthanorequal.q.out b/ql/src/test/results/clientpositive/udf_greaterthanorequal.q.out
index 86333cd..5d21d81 100644
--- a/ql/src/test/results/clientpositive/udf_greaterthanorequal.q.out
+++ b/ql/src/test/results/clientpositive/udf_greaterthanorequal.q.out
@@ -8,6 +8,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED >=
 POSTHOOK: type: DESCFUNCTION
 a >= b - Returns TRUE if a is not smaller than b
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPEqualOrGreaterThan
+Function type:BUILTIN
 PREHOOK: query: SELECT true>=false, false>=true, false>=false, true>=true FROM src tablesample (1 rows)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_greatest.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_greatest.q.out b/ql/src/test/results/clientpositive/udf_greatest.q.out
index 7ba3758..f5be6db 100644
--- a/ql/src/test/results/clientpositive/udf_greatest.q.out
+++ b/ql/src/test/results/clientpositive/udf_greatest.q.out
@@ -11,6 +11,8 @@ greatest(v1, v2, ...) - Returns the greatest value in a list of values
 Example:
   > SELECT greatest(2, 3, 1) FROM src LIMIT 1;
   3
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFGreatest
+Function type:BUILTIN
 PREHOOK: query: EXPLAIN
 SELECT GREATEST('a', 'b', 'c'),
        GREATEST('C', 'a', 'B'),

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_hash.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_hash.q.out b/ql/src/test/results/clientpositive/udf_hash.q.out
index 5f9ca16..94b0bde 100644
--- a/ql/src/test/results/clientpositive/udf_hash.q.out
+++ b/ql/src/test/results/clientpositive/udf_hash.q.out
@@ -8,6 +8,8 @@ PREHOOK: type: DESCFUNCTION
 POSTHOOK: query: DESCRIBE FUNCTION EXTENDED hash
 POSTHOOK: type: DESCFUNCTION
 hash(a1, a2, ...) - Returns a hash value of the arguments
+Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFHash
+Function type:BUILTIN
 PREHOOK: query: EXPLAIN
 SELECT hash(CAST(1 AS TINYINT)), hash(CAST(2 AS SMALLINT)),
        hash(3), hash(CAST('123456789012' AS BIGINT)),

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_hex.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_hex.q.out b/ql/src/test/results/clientpositive/udf_hex.q.out
index 540b361..87b6e11 100644
--- a/ql/src/test/results/clientpositive/udf_hex.q.out
+++ b/ql/src/test/results/clientpositive/udf_hex.q.out
@@ -15,6 +15,8 @@ Example:
   'H1'
   > SELECT hex('Facebook') FROM src LIMIT 1;
   '46616365626F6F6B'
+Function class:org.apache.hadoop.hive.ql.udf.UDFHex
+Function type:BUILTIN
 PREHOOK: query: -- If the argument is a string, hex should return a string containing two hex
 -- digits for every character in the input.
 SELECT

http://git-wip-us.apache.org/repos/asf/hive/blob/cb7918c6/ql/src/test/results/clientpositive/udf_hour.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_hour.q.out b/ql/src/test/results/clientpositive/udf_hour.q.out
index cf7f78b..d37c079 100644
--- a/ql/src/test/results/clientpositive/udf_hour.q.out
+++ b/ql/src/test/results/clientpositive/udf_hour.q.out
@@ -16,6 +16,8 @@ param can be one of:
   12
   > SELECT hour('12:58:59') FROM src LIMIT 1;
   12
+Function class:org.apache.hadoop.hive.ql.udf.UDFHour
+Function type:BUILTIN
 PREHOOK: query: EXPLAIN
 SELECT hour('2009-08-07 13:14:15'), hour('13:14:15'), hour('2009-08-07')
 FROM src WHERE key = 86