> On 2011-10-03 08:31:46, Igor Kabiljo wrote:
> > Nice, this is even better then what I thought.
> > 
> > This now supports all OIs, except for struct and unions, right? No reason 
> > not to add structs, should we add both?
> > Also, should we change so that every VoidObjectInspector is constant (not 
> > sure if that would complicate things more, in which case - no)?
> > 
> > I still think it would be preferable that constant OI guarantees that 
> > objects it returns are constant - if somebody changes returned value, next 
> > values it returns shouldn't be affected. But this doesn't matter that much.
> >
> 
> Jonathan Chang wrote:
>     * I agree that structs and unions would be good to have at some point but 
> it turns out they are much harder to implement.  In particular, they contain 
> references to constituent OIs and do not have natural Java/Writable 
> equivalents.   Thus, the way the constant value should be stored is not 
> obvious and you have weird interactions where some field OI maybe a 
> constantOI but not the whole thing, etc.  This is complex enough that I think 
> it's worth deferring to another diff
>     
>     * I will convert void OI to be constant.
>     
>     * I'm not sure that constant OI guarantee that its objects are constant; 
> it might imply unnecessary copies and currently none of the rest of the UDF 
> architecture functions this way (most things passed around are writable and 
> it's up to consumers not to assume ownership).

- I didn't know it was like that (for structs and unions), I thought it was 
straightforward. so definitely for next diff, not this one
- constant OI guarantee will not incur much overhead - since all those are 
executed only once - since they are constant. but I agree, the rest of 
architecture functions with that assumption, so it is better to be consistent 
(and later structs - Object[] - cannot be made constant)


- Igor


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


On 2011-10-03 01:36:16, Jonathan Chang wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/2078/
> -----------------------------------------------------------
> 
> (Updated 2011-10-03 01:36:16)
> 
> 
> Review request for hive, Carl Steinbach, John Sichi, and Igor Kabiljo.
> 
> 
> 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
> -----
> 
>   
> 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
> 
>

Reply via email to