[
https://issues.apache.org/jira/browse/HIVE-16945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16094549#comment-16094549
]
Jesus Camacho Rodriguez edited comment on HIVE-16945 at 7/20/17 12:13 PM:
--------------------------------------------------------------------------
[~lirui], thanks for the feedback. I had not started working on this issue yet,
I created the placeholder to keep it in mind.
I guess overriding equals/hashCode would create a bunch of issues since
codebase has relied on identity comparison for Operator objects, thus I would
create a new method indeed.
I agree with you that {{compareTo}} is not a good name for it,
{{logicalEquals}} would be better. I have changed it in the description.
was (Author: jcamachorodriguez):
[~lirui], thanks for the feedback. I had not started working on this issue yet,
I created the placeholder to keep it in mind.
I guess overriding equals/hashCode would create a bunch of issues since
codebase has relied on identity comparison for this objects, thus I would
create a new method indeed.
I agree with you that {{compareTo}} is not a good name for it,
{{logicalEquals}} would be better. I have changed it in the description.
> Add method to compare Operators
> --------------------------------
>
> Key: HIVE-16945
> URL: https://issues.apache.org/jira/browse/HIVE-16945
> Project: Hive
> Issue Type: Improvement
> Components: Operators
> Affects Versions: 3.0.0
> Reporter: Jesus Camacho Rodriguez
>
> HIVE-10844 introduced a comparator factory class for operators that
> encapsulates all the logic to assess whether two operators are equal:
> https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/optimizer/OperatorComparatorFactory.java
> The current design might create problems as any change in fields of operators
> will break the comparators. It would be better to do this via inheritance
> from Operator base class, by adding a {{logicalEquals(Operator other)}}
> method.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)