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

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


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


Everything looks great, this will be really helpful!
Just few inline comments:


ql/src/java/org/apache/hadoop/hive/ql/udf/generic/ConstantFoldableGenericUDF.java
<https://reviews.apache.org/r/2078/#comment4959>

    Should code here make sure this value is actually constant?
    I.e. create a deep copy of maps/lists, with 
Collections.unmodifiableMap/List wrapper around them?
    
    (or maybe it is better/cleaner to make 
StandardConstantList/MapObjectInspector create such a copy inside, and make 
code here return inspector.getWritableConstantValue instead. That will make 
this safe for all usages below, like getConstantObjectInspector. This will 
always be one-time only performance hit, since we are dealing with constant 
OI's, so it shouldn't matter) 



ql/src/java/org/apache/hadoop/hive/ql/udf/generic/ConstantFoldableGenericUDF.java
<https://reviews.apache.org/r/2078/#comment4958>

    This might be useful as a top-level class?


- Igor


On 2011-09-27 23:03:09, Jonathan Chang wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2078/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2011-09-27 23:03:09)
bq.  
bq.  
bq.  Review request for hive, Carl Steinbach, John Sichi, and Igor Kabiljo.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  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:
bq.  
bq.  1.) Extends this functionality beyond primitive types to List/Map types.
bq.  2.) Fixes a bug in ExprNodeGenericFuncDesc where the constant value would 
not propagate beyond one level of evaluation.
bq.  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.
bq.  
bq.  
bq.  This addresses bug HIVE-2470.
bq.      https://issues.apache.org/jira/browse/HIVE-2470
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeGenericFuncDesc.java 
7da5d6a 
bq.    
ql/src/java/org/apache/hadoop/hive/ql/udf/generic/ConstantFoldableGenericUDF.java
 PRE-CREATION 
bq.    ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFArray.java 
1cf97c8 
bq.    
ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFArrayContains.java 
d60dc86 
bq.    ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFIf.java 
9a6a7ff 
bq.    ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMap.java 
3b71c48 
bq.    ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMapKeys.java 
b384717 
bq.    ql/src/test/queries/clientpositive/constant_prop.q PRE-CREATION 
bq.    ql/src/test/results/clientpositive/constant_prop.q.out PRE-CREATION 
bq.    
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorFactory.java
 a4689fb 
bq.    
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorUtils.java
 2c1a7e0 
bq.    
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/StandardConstantListObjectInspector.java
 PRE-CREATION 
bq.    
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/StandardConstantMapObjectInspector.java
 PRE-CREATION 
bq.  
bq.  Diff: https://reviews.apache.org/r/2078/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  ant test
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Jonathan
bq.  
bq.


                
> 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

        

Reply via email to