[
https://issues.apache.org/jira/browse/HIVE-405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12732029#action_12732029
]
Prasad Chakka commented on HIVE-405:
------------------------------------
i thought about it but didn't do it for two reasons
1) any operator can choose not to call initializeChildren. eg. MapOperator does
not call initializeChildren() directly but calls initialize() on children
directly with different ObjectInspector object for each child.
2) ScriptOperator.initializeOp() seems to do some more stuff after calling
initializeChildren() which is different from calling initiaizeChildren() after
calling initializeOp()
Even if 2) doesn't matter, I don't see how we can get around 1) in the scheme
you suggested
If you agree then I am going to upload a new patch which fixes TestOperators
(which was failing after merging with trunk).
> 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.