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

Namit Jain commented on HIVE-405:
---------------------------------

As you said 2. does not matter - I dont think if we move initializeChildren() 
to the end, anything will change

1. is needed - MapOperator is an exception, and it needs a different walker - 
it can override initializeChildren() to do nothing.
In some sense, it has more than one outputObjectInspectors, which is not true 
for any other operator - ExecMapper and ExecReducer are
different.

I still think we should do 1. - and treat MapOperator as a exception


> Cleanup operator initialization
> -------------------------------
>
>                 Key: HIVE-405
>                 URL: https://issues.apache.org/jira/browse/HIVE-405
>             Project: Hadoop Hive
>          Issue Type: Bug
>          Components: Query Processor
>    Affects Versions: 0.4.0
>            Reporter: Zheng Shao
>            Assignee: Prasad Chakka
>            Priority: Critical
>         Attachments: hive-405.6.patch, hive-405.7.patch, hive-405.patch
>
>
> We are always passing the same ObjectInspector, so there is no need to pass 
> it again and again in forward.
> Also there is a problem that can ONLY be fixed by passing ObjectInspector in 
> init: Outer Joins - Outer Joins may not be able to get ObjectInspectors for 
> all inputs, as a result, there is no way to construct an output 
> ObjectInspector based on the inputs. Currently we have hard-coded code that 
> assumes joins are always outputting Strings, which did break but was hidden 
> by the old framework (because we do toString() when serializing the output, 
> and toString() is defined for all Java Classes).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to