Hive
  1. Hive
  2. HIVE-2810

Implement NULL-safe equality operator <=>

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.9.0
    • Component/s: Query Processor, UDF
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Issue Links

        Activity

        Hide
        Phabricator added a comment -

        navis requested code review of "HIVE-2810 [jira] Implement NULL-safe equality operator <=>".
        Reviewers: JIRA

        DPAL-843 Implement NULL-safe equality operator <=>

        Ref: http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_equal-to

        TEST PLAN
        EMPTY

        REVISION DETAIL
        https://reviews.facebook.net/D1791

        AFFECTED FILES
        ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
        ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g
        ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPEqualNS.java
        ql/src/test/queries/clientpositive/udf_equal.q
        ql/src/test/results/clientpositive/udf_equal.q.out

        MANAGE HERALD DIFFERENTIAL RULES
        https://reviews.facebook.net/herald/view/differential/

        WHY DID I GET THIS EMAIL?
        https://reviews.facebook.net/herald/transcript/3825/

        Tip: use the X-Herald-Rules header to filter Herald messages in your client.

        Show
        Phabricator added a comment - navis requested code review of " HIVE-2810 [jira] Implement NULL-safe equality operator <=>". Reviewers: JIRA DPAL-843 Implement NULL-safe equality operator <=> Ref: http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_equal-to TEST PLAN EMPTY REVISION DETAIL https://reviews.facebook.net/D1791 AFFECTED FILES ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPEqualNS.java ql/src/test/queries/clientpositive/udf_equal.q ql/src/test/results/clientpositive/udf_equal.q.out MANAGE HERALD DIFFERENTIAL RULES https://reviews.facebook.net/herald/view/differential/ WHY DID I GET THIS EMAIL? https://reviews.facebook.net/herald/transcript/3825/ Tip: use the X-Herald-Rules header to filter Herald messages in your client.
        Hide
        Phabricator added a comment -

        cwsteinbach has requested changes to the revision "HIVE-2810 [jira] Implement NULL-safe equality operator <=>".

        Looks good. However, I have a hunch that this doesn't work with JOINs (e.g. see HIVE-741). Can you please add a testcase that uses the NULL-safe comparison operator in a JOIN condition? Thanks.

        REVISION DETAIL
        https://reviews.facebook.net/D1791

        BRANCH
        DPAL-843

        Show
        Phabricator added a comment - cwsteinbach has requested changes to the revision " HIVE-2810 [jira] Implement NULL-safe equality operator <=>". Looks good. However, I have a hunch that this doesn't work with JOINs (e.g. see HIVE-741 ). Can you please add a testcase that uses the NULL-safe comparison operator in a JOIN condition? Thanks. REVISION DETAIL https://reviews.facebook.net/D1791 BRANCH DPAL-843
        Hide
        Phabricator added a comment -

        navis has commented on the revision "HIVE-2810 [jira] Implement NULL-safe equality operator <=>".

        You mean something like 'SELECT * FROM a JOIN b ON a.key <=> b.key' ?
        That seemed to be a huge work. (for me)

        REVISION DETAIL
        https://reviews.facebook.net/D1791

        BRANCH
        DPAL-843

        Show
        Phabricator added a comment - navis has commented on the revision " HIVE-2810 [jira] Implement NULL-safe equality operator <=>". You mean something like 'SELECT * FROM a JOIN b ON a.key <=> b.key' ? That seemed to be a huge work. (for me) REVISION DETAIL https://reviews.facebook.net/D1791 BRANCH DPAL-843
        Hide
        Phabricator added a comment -

        cwsteinbach has commented on the revision "HIVE-2810 [jira] Implement NULL-safe equality operator <=>".

        Yup, exactly. I tried running the query from HIVE-741:
        https://issues.apache.org/jira/browse/HIVE-741?focusedCommentId=12896789&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-12896789

        This works:
        select * from input1 a join input1 b on a.key=b.value;

        But I get the following error when I try to run this:

        select * from input1 a join input1 b on a.key <=> b.value;
        FAILED: Error in semantic analysis: Line 1:40 Both left and right aliases encountered in JOIN 'value'

        Looks like this may be a parsing issue?

        HIVE-741 added a join_nulls.q test to clientpositive. I think it would be a good idea to augment this testcase with null-safe equality queries.

        REVISION DETAIL
        https://reviews.facebook.net/D1791

        BRANCH
        DPAL-843

        Show
        Phabricator added a comment - cwsteinbach has commented on the revision " HIVE-2810 [jira] Implement NULL-safe equality operator <=>". Yup, exactly. I tried running the query from HIVE-741 : https://issues.apache.org/jira/browse/HIVE-741?focusedCommentId=12896789&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-12896789 This works: select * from input1 a join input1 b on a.key=b.value; But I get the following error when I try to run this: select * from input1 a join input1 b on a.key <=> b.value; FAILED: Error in semantic analysis: Line 1:40 Both left and right aliases encountered in JOIN 'value' Looks like this may be a parsing issue? HIVE-741 added a join_nulls.q test to clientpositive. I think it would be a good idea to augment this testcase with null-safe equality queries. REVISION DETAIL https://reviews.facebook.net/D1791 BRANCH DPAL-843
        Hide
        Phabricator added a comment -

        navis has commented on the revision "HIVE-2810 [jira] Implement NULL-safe equality operator <=>".

        Null-safe equi-join in not relevant with null-safe eq operator. Join is hard-coded in JoinOperator under the assumption that equal operator is used, so it should modified separately.

        I'm trying but it's so hard.. _;;

        REVISION DETAIL
        https://reviews.facebook.net/D1791

        BRANCH
        DPAL-843

        Show
        Phabricator added a comment - navis has commented on the revision " HIVE-2810 [jira] Implement NULL-safe equality operator <=>". Null-safe equi-join in not relevant with null-safe eq operator. Join is hard-coded in JoinOperator under the assumption that equal operator is used, so it should modified separately. I'm trying but it's so hard.. _ ;; REVISION DETAIL https://reviews.facebook.net/D1791 BRANCH DPAL-843
        Hide
        Carl Steinbach added a comment -

        Have you looked at the code changes made in HIVE-741? My understanding is that before that patch was committed Hive actually treated equi-joins as null-safe-equijoins, so it seems like the patch should give you a pretty good idea of what needs to be modified.

        Show
        Carl Steinbach added a comment - Have you looked at the code changes made in HIVE-741 ? My understanding is that before that patch was committed Hive actually treated equi-joins as null-safe-equijoins, so it seems like the patch should give you a pretty good idea of what needs to be modified.
        Hide
        Navis added a comment -

        Thanks for your advice, I'll check that.

        Show
        Navis added a comment - Thanks for your advice, I'll check that.
        Hide
        Navis added a comment -

        @Carl: Would it be better to separate this issue for briefness?

        Show
        Navis added a comment - @Carl: Would it be better to separate this issue for briefness?
        Hide
        Carl Steinbach added a comment -

        I think it's fine to separate if there's a way to disable <=> from appearing in JOIN conditions. Otherwise, think it needs to be fixed here.

        Show
        Carl Steinbach added a comment - I think it's fine to separate if there's a way to disable <=> from appearing in JOIN conditions. Otherwise, think it needs to be fixed here.
        Hide
        Navis added a comment -

        Separated nullsafe equi-join part to HIVE-2827.

        Show
        Navis added a comment - Separated nullsafe equi-join part to HIVE-2827 .
        Hide
        Phabricator added a comment -

        navis updated the revision "HIVE-2810 [jira] Implement NULL-safe equality operator <=>".
        Reviewers: JIRA, cwsteinbach

        Fix test failure (show_functions.q)

        REVISION DETAIL
        https://reviews.facebook.net/D1791

        AFFECTED FILES
        ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
        ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g
        ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPEqualNS.java
        ql/src/test/queries/clientpositive/udf_equal.q
        ql/src/test/results/clientpositive/show_functions.q.out
        ql/src/test/results/clientpositive/udf_equal.q.out

        Show
        Phabricator added a comment - navis updated the revision " HIVE-2810 [jira] Implement NULL-safe equality operator <=>". Reviewers: JIRA, cwsteinbach Fix test failure (show_functions.q) REVISION DETAIL https://reviews.facebook.net/D1791 AFFECTED FILES ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPEqualNS.java ql/src/test/queries/clientpositive/udf_equal.q ql/src/test/results/clientpositive/show_functions.q.out ql/src/test/results/clientpositive/udf_equal.q.out
        Hide
        Phabricator added a comment -

        navis updated the revision "HIVE-2810 [jira] Implement NULL-safe equality operator <=>".
        Reviewers: JIRA, cwsteinbach

        registered to ParseDriver.xlateMap

        REVISION DETAIL
        https://reviews.facebook.net/D1791

        AFFECTED FILES
        ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
        ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g
        ql/src/java/org/apache/hadoop/hive/ql/parse/ParseDriver.java
        ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPEqualNS.java
        ql/src/test/queries/clientpositive/udf_equal.q
        ql/src/test/results/clientpositive/show_functions.q.out
        ql/src/test/results/clientpositive/udf_equal.q.out

        Show
        Phabricator added a comment - navis updated the revision " HIVE-2810 [jira] Implement NULL-safe equality operator <=>". Reviewers: JIRA, cwsteinbach registered to ParseDriver.xlateMap REVISION DETAIL https://reviews.facebook.net/D1791 AFFECTED FILES ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g ql/src/java/org/apache/hadoop/hive/ql/parse/ParseDriver.java ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPEqualNS.java ql/src/test/queries/clientpositive/udf_equal.q ql/src/test/results/clientpositive/show_functions.q.out ql/src/test/results/clientpositive/udf_equal.q.out
        Hide
        Phabricator added a comment -

        cwsteinbach has requested changes to the revision "HIVE-2810 [jira] Implement NULL-safe equality operator <=>".

        Please update the testcase. Otherwise looks good, so I'll test and commit once this is done. Thanks.

        INLINE COMMENTS
        ql/src/test/queries/clientpositive/udf_equal.q:12 Please also check the comparisons true<=>true and false<=>false.

        REVISION DETAIL
        https://reviews.facebook.net/D1791

        BRANCH
        DPAL-843

        Show
        Phabricator added a comment - cwsteinbach has requested changes to the revision " HIVE-2810 [jira] Implement NULL-safe equality operator <=>". Please update the testcase. Otherwise looks good, so I'll test and commit once this is done. Thanks. INLINE COMMENTS ql/src/test/queries/clientpositive/udf_equal.q:12 Please also check the comparisons true<=>true and false<=>false. REVISION DETAIL https://reviews.facebook.net/D1791 BRANCH DPAL-843
        Hide
        Carl Steinbach added a comment -

        @Navis: Please update the patch with the request test changes. I will test and commit once this done. Thanks!

        Show
        Carl Steinbach added a comment - @Navis: Please update the patch with the request test changes. I will test and commit once this done. Thanks!
        Hide
        Phabricator added a comment -

        cwsteinbach has commented on the revision "HIVE-2810 [jira] Implement NULL-safe equality operator <=>".

        INLINE COMMENTS
        ql/src/test/queries/clientpositive/udf_equal.q:7 Please add NULL comparisons for '=':

        NULL=NULL
        true=NULL
        NULL=true
        false=NULL
        NULL=false
        ql/src/test/queries/clientpositive/udf_equal.q:12 Please add the missing comparisons from above that were used to test '='. I realize that '<=>' is implemented in terms of '=', but the tests should treat both implementations like black boxes. Thanks.

        REVISION DETAIL
        https://reviews.facebook.net/D1791

        BRANCH
        DPAL-843

        Show
        Phabricator added a comment - cwsteinbach has commented on the revision " HIVE-2810 [jira] Implement NULL-safe equality operator <=>". INLINE COMMENTS ql/src/test/queries/clientpositive/udf_equal.q:7 Please add NULL comparisons for '=': NULL=NULL true=NULL NULL=true false=NULL NULL=false ql/src/test/queries/clientpositive/udf_equal.q:12 Please add the missing comparisons from above that were used to test '='. I realize that '<=>' is implemented in terms of '=', but the tests should treat both implementations like black boxes. Thanks. REVISION DETAIL https://reviews.facebook.net/D1791 BRANCH DPAL-843
        Hide
        Phabricator added a comment -

        navis updated the revision "HIVE-2810 [jira] Implement NULL-safe equality operator <=>".
        Reviewers: JIRA, cwsteinbach

        Updated testcase.

        REVISION DETAIL
        https://reviews.facebook.net/D1791

        AFFECTED FILES
        ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
        ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g
        ql/src/java/org/apache/hadoop/hive/ql/parse/ParseDriver.java
        ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPEqualNS.java
        ql/src/test/queries/clientpositive/udf_equal.q
        ql/src/test/results/clientpositive/show_functions.q.out
        ql/src/test/results/clientpositive/udf_equal.q.out

        Show
        Phabricator added a comment - navis updated the revision " HIVE-2810 [jira] Implement NULL-safe equality operator <=>". Reviewers: JIRA, cwsteinbach Updated testcase. REVISION DETAIL https://reviews.facebook.net/D1791 AFFECTED FILES ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g ql/src/java/org/apache/hadoop/hive/ql/parse/ParseDriver.java ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPEqualNS.java ql/src/test/queries/clientpositive/udf_equal.q ql/src/test/results/clientpositive/show_functions.q.out ql/src/test/results/clientpositive/udf_equal.q.out
        Hide
        Phabricator added a comment -

        cwsteinbach has accepted the revision "HIVE-2810 [jira] Implement NULL-safe equality operator <=>".

        +1. Will commit if tests pass.

        REVISION DETAIL
        https://reviews.facebook.net/D1791

        BRANCH
        DPAL-843

        Show
        Phabricator added a comment - cwsteinbach has accepted the revision " HIVE-2810 [jira] Implement NULL-safe equality operator <=>". +1. Will commit if tests pass. REVISION DETAIL https://reviews.facebook.net/D1791 BRANCH DPAL-843
        Hide
        Carl Steinbach added a comment -

        Committed to trunk. Thanks Navis!

        Show
        Carl Steinbach added a comment - Committed to trunk. Thanks Navis!
        Hide
        Phabricator added a comment -

        navis has committed the revision "HIVE-2810 [jira] Implement NULL-safe equality operator <=>".

        Change committed by cws.

        REVISION DETAIL
        https://reviews.facebook.net/D1791

        COMMIT
        https://reviews.facebook.net/rHIVE1297677

        Show
        Phabricator added a comment - navis has committed the revision " HIVE-2810 [jira] Implement NULL-safe equality operator <=>". Change committed by cws. REVISION DETAIL https://reviews.facebook.net/D1791 COMMIT https://reviews.facebook.net/rHIVE1297677
        Hide
        Hudson added a comment -

        Integrated in Hive-trunk-h0.21 #1295 (See https://builds.apache.org/job/Hive-trunk-h0.21/1295/)
        HIVE-2827 [jira] Implement nullsafe equi-join
        (Navis Ryu via Carl Steinbach)

        Summary:
        DPAL-873 Implement nullsafe equi-join

        was part of HIVE-2810, but separated because it affected more classes than
        expected.

        SELECT * FROM a JOIN b ON a.key <=> b.key

        Test Plan: EMPTY

        Reviewers: JIRA, cwsteinbach

        Reviewed By: cwsteinbach

        Differential Revision: https://reviews.facebook.net/D1971 (Revision 1297919)

        Result = SUCCESS
        cws : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1297919
        Files :

        • /hive/trunk/data/files/in8.txt
        • /hive/trunk/data/files/in9.txt
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/AbstractMapJoinOperator.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/CommonJoinOperator.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/JoinOperator.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/MapJoinOperator.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/SMBMapJoinOperator.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/AbstractMapJoinKey.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinDoubleKeys.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinObjectKey.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinSingleKey.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/MapJoinProcessor.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/GenMRSkewJoinProcessor.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/QBJoinTree.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinDesc.java
        • /hive/trunk/ql/src/test/queries/clientpositive/join_nullsafe.q
        • /hive/trunk/ql/src/test/results/clientpositive/join_nullsafe.q.out
        • /hive/trunk/ql/src/test/results/compiler/plan/join1.q.xml
        • /hive/trunk/ql/src/test/results/compiler/plan/join2.q.xml
        • /hive/trunk/ql/src/test/results/compiler/plan/join3.q.xml
        • /hive/trunk/ql/src/test/results/compiler/plan/join4.q.xml
        • /hive/trunk/ql/src/test/results/compiler/plan/join5.q.xml
        • /hive/trunk/ql/src/test/results/compiler/plan/join6.q.xml
        • /hive/trunk/ql/src/test/results/compiler/plan/join7.q.xml
        • /hive/trunk/ql/src/test/results/compiler/plan/join8.q.xml
        • /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java
        Show
        Hudson added a comment - Integrated in Hive-trunk-h0.21 #1295 (See https://builds.apache.org/job/Hive-trunk-h0.21/1295/ ) HIVE-2827 [jira] Implement nullsafe equi-join (Navis Ryu via Carl Steinbach) Summary: DPAL-873 Implement nullsafe equi-join was part of HIVE-2810 , but separated because it affected more classes than expected. SELECT * FROM a JOIN b ON a.key <=> b.key Test Plan: EMPTY Reviewers: JIRA, cwsteinbach Reviewed By: cwsteinbach Differential Revision: https://reviews.facebook.net/D1971 (Revision 1297919) Result = SUCCESS cws : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1297919 Files : /hive/trunk/data/files/in8.txt /hive/trunk/data/files/in9.txt /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/AbstractMapJoinOperator.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/CommonJoinOperator.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/JoinOperator.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/MapJoinOperator.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/SMBMapJoinOperator.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/AbstractMapJoinKey.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinDoubleKeys.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinObjectKey.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinSingleKey.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/MapJoinProcessor.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/GenMRSkewJoinProcessor.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/QBJoinTree.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinDesc.java /hive/trunk/ql/src/test/queries/clientpositive/join_nullsafe.q /hive/trunk/ql/src/test/results/clientpositive/join_nullsafe.q.out /hive/trunk/ql/src/test/results/compiler/plan/join1.q.xml /hive/trunk/ql/src/test/results/compiler/plan/join2.q.xml /hive/trunk/ql/src/test/results/compiler/plan/join3.q.xml /hive/trunk/ql/src/test/results/compiler/plan/join4.q.xml /hive/trunk/ql/src/test/results/compiler/plan/join5.q.xml /hive/trunk/ql/src/test/results/compiler/plan/join6.q.xml /hive/trunk/ql/src/test/results/compiler/plan/join7.q.xml /hive/trunk/ql/src/test/results/compiler/plan/join8.q.xml /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java
        Hide
        Ashutosh Chauhan added a comment -

        This issue is closed now. It was released with the fix in 0.9.0. If there is a problem, please open a new jira and link this one with that.

        Show
        Ashutosh Chauhan added a comment - This issue is closed now. It was released with the fix in 0.9.0. If there is a problem, please open a new jira and link this one with that.
        Hide
        Hudson added a comment -

        Integrated in Hive-trunk-hadoop2 #54 (See https://builds.apache.org/job/Hive-trunk-hadoop2/54/)
        HIVE-2827 [jira] Implement nullsafe equi-join
        (Navis Ryu via Carl Steinbach)

        Summary:
        DPAL-873 Implement nullsafe equi-join

        was part of HIVE-2810, but separated because it affected more classes than
        expected.

        SELECT * FROM a JOIN b ON a.key <=> b.key

        Test Plan: EMPTY

        Reviewers: JIRA, cwsteinbach

        Reviewed By: cwsteinbach

        Differential Revision: https://reviews.facebook.net/D1971 (Revision 1297919)
        HIVE-2810 [jira] Implement NULL-safe equality operator <=>
        (Navis Ryu via Carl Steinbach)

        Summary:
        DPAL-843 Implement NULL-safe equality operator <=>

        Ref:
        http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_equal-to

        Test Plan: EMPTY

        Reviewers: JIRA, cwsteinbach

        Reviewed By: cwsteinbach

        Differential Revision: https://reviews.facebook.net/D1791 (Revision 1297677)

        Result = ABORTED
        cws : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1297919
        Files :

        • /hive/trunk/data/files/in8.txt
        • /hive/trunk/data/files/in9.txt
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/AbstractMapJoinOperator.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/CommonJoinOperator.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/JoinOperator.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/MapJoinOperator.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/SMBMapJoinOperator.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/AbstractMapJoinKey.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinDoubleKeys.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinObjectKey.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinSingleKey.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/MapJoinProcessor.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/GenMRSkewJoinProcessor.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/QBJoinTree.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinDesc.java
        • /hive/trunk/ql/src/test/queries/clientpositive/join_nullsafe.q
        • /hive/trunk/ql/src/test/results/clientpositive/join_nullsafe.q.out
        • /hive/trunk/ql/src/test/results/compiler/plan/join1.q.xml
        • /hive/trunk/ql/src/test/results/compiler/plan/join2.q.xml
        • /hive/trunk/ql/src/test/results/compiler/plan/join3.q.xml
        • /hive/trunk/ql/src/test/results/compiler/plan/join4.q.xml
        • /hive/trunk/ql/src/test/results/compiler/plan/join5.q.xml
        • /hive/trunk/ql/src/test/results/compiler/plan/join6.q.xml
        • /hive/trunk/ql/src/test/results/compiler/plan/join7.q.xml
        • /hive/trunk/ql/src/test/results/compiler/plan/join8.q.xml
        • /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java

        cws : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1297677
        Files :

        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/ParseDriver.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPEqualNS.java
        • /hive/trunk/ql/src/test/queries/clientpositive/udf_equal.q
        • /hive/trunk/ql/src/test/results/clientpositive/show_functions.q.out
        • /hive/trunk/ql/src/test/results/clientpositive/udf_equal.q.out
        Show
        Hudson added a comment - Integrated in Hive-trunk-hadoop2 #54 (See https://builds.apache.org/job/Hive-trunk-hadoop2/54/ ) HIVE-2827 [jira] Implement nullsafe equi-join (Navis Ryu via Carl Steinbach) Summary: DPAL-873 Implement nullsafe equi-join was part of HIVE-2810 , but separated because it affected more classes than expected. SELECT * FROM a JOIN b ON a.key <=> b.key Test Plan: EMPTY Reviewers: JIRA, cwsteinbach Reviewed By: cwsteinbach Differential Revision: https://reviews.facebook.net/D1971 (Revision 1297919) HIVE-2810 [jira] Implement NULL-safe equality operator <=> (Navis Ryu via Carl Steinbach) Summary: DPAL-843 Implement NULL-safe equality operator <=> Ref: http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_equal-to Test Plan: EMPTY Reviewers: JIRA, cwsteinbach Reviewed By: cwsteinbach Differential Revision: https://reviews.facebook.net/D1791 (Revision 1297677) Result = ABORTED cws : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1297919 Files : /hive/trunk/data/files/in8.txt /hive/trunk/data/files/in9.txt /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/AbstractMapJoinOperator.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/CommonJoinOperator.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/JoinOperator.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/MapJoinOperator.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/SMBMapJoinOperator.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/AbstractMapJoinKey.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinDoubleKeys.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinObjectKey.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinSingleKey.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/MapJoinProcessor.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/GenMRSkewJoinProcessor.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/QBJoinTree.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinDesc.java /hive/trunk/ql/src/test/queries/clientpositive/join_nullsafe.q /hive/trunk/ql/src/test/results/clientpositive/join_nullsafe.q.out /hive/trunk/ql/src/test/results/compiler/plan/join1.q.xml /hive/trunk/ql/src/test/results/compiler/plan/join2.q.xml /hive/trunk/ql/src/test/results/compiler/plan/join3.q.xml /hive/trunk/ql/src/test/results/compiler/plan/join4.q.xml /hive/trunk/ql/src/test/results/compiler/plan/join5.q.xml /hive/trunk/ql/src/test/results/compiler/plan/join6.q.xml /hive/trunk/ql/src/test/results/compiler/plan/join7.q.xml /hive/trunk/ql/src/test/results/compiler/plan/join8.q.xml /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java cws : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1297677 Files : /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/ParseDriver.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPEqualNS.java /hive/trunk/ql/src/test/queries/clientpositive/udf_equal.q /hive/trunk/ql/src/test/results/clientpositive/show_functions.q.out /hive/trunk/ql/src/test/results/clientpositive/udf_equal.q.out

          People

          • Assignee:
            Navis
            Reporter:
            Carl Steinbach
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development