You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "jiraposter@reviews.apache.org (Commented) (JIRA)" <ji...@apache.org> on 2011/10/03 03:32:35 UTC

[jira] [Commented] (HIVE-2470) Improve support for Constant Object Inspectors

    [ https://issues.apache.org/jira/browse/HIVE-2470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13119123#comment-13119123 ] 

jiraposter@reviews.apache.org commented on HIVE-2470:
-----------------------------------------------------


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

(Updated 2011-10-03 01:31:21.490736)


Review request for hive, Carl Steinbach, John Sichi, and Igor Kabiljo.


Changes
-------

Take suggestions after discussion with ikabiljo and jvs.  Get rid of constantfoldablegenericudf in favor of just having both the exprnode evaluator and desc initialize /w constant folding and cache values for all non-stateful, deterministic generic udfs.


Summary
-------

ConstantObjectInspectors were introduced in a previous patch so that UDF's could have access to constant values at initialize time.  This diff adds the following improvements:

1.) Extends this functionality beyond primitive types to List/Map types.
2.) Fixes a bug in ExprNodeGenericFuncDesc where the constant value would not propagate beyond one level of evaluation.
3.) Adds a helper class to make functions constant-aware.  By inheriting from this class they return constant OIs if all their arguments are constant, and they cache the result so that computation is only done during initialize().  Some functions such as ARRAY/IF/MAP have been migrated.


This addresses bug HIVE-2470.
    https://issues.apache.org/jira/browse/HIVE-2470


Diffs (updated)
-----

  ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeGenericFuncEvaluator.java ebc236d 
  ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeGenericFuncDesc.java 7da5d6a 
  ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java 570e408 
  ql/src/test/queries/clientpositive/constant_prop.q PRE-CREATION 
  ql/src/test/results/clientpositive/constant_prop.q.out PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorFactory.java a4689fb 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorUtils.java 2c1a7e0 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/StandardConstantListObjectInspector.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/StandardConstantMapObjectInspector.java PRE-CREATION 

Diff: https://reviews.apache.org/r/2078/diff


Testing
-------

ant test


Thanks,

Jonathan


                
> Improve support for Constant Object Inspectors
> ----------------------------------------------
>
>                 Key: HIVE-2470
>                 URL: https://issues.apache.org/jira/browse/HIVE-2470
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Jonathan Chang
>            Assignee: Jonathan Chang
>         Attachments: HIVE-1360.part2.patch, HIVE-2470.patch
>
>
> ConstantObjectInspectors are nice but they need to be more widely supported and used.  In particular,
> * More functions need to be using them.
> * There need to be facilities for propagating constness.
> * Support for complex types must be added.

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