Uploaded image for project: 'Tajo'
  1. Tajo
  2. TAJO-267

Implement equals() and deepEquals() functions at LogicalNode

    Details

    • Type: Task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.8.0
    • Component/s: None
    • Labels:
      None

      Description

      equals() compares only the top-most nodes of two LogicalNode objects while deepEquals() compares the top-most nodes and their descendants.

      1. TAJO-267_2.patch
        17 kB
        Jihoon Son
      2. TAJO-267.patch
        20 kB
        Jihoon Son

        Activity

        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Tajo-trunk-postcommit #524 (See https://builds.apache.org/job/Tajo-trunk-postcommit/524/)
        TAJO-267: Implement equals() and deepEquals() functions at LogicalNode. (jihoon) (jihoonson: https://git-wip-us.apache.org/repos/asf?p=incubator-tajo.git&a=commit&h=668fed59561114c96e8120f6705fc5dc5e2a3ffe)

        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/JoinNode.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/SortNode.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/UnaryNode.java
        • CHANGES.txt
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/BinaryNode.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/LimitNode.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/LogicalRootNode.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/LogicalNode.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalNode.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ProjectionNode.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/GroupbyNode.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/SelectionNode.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/StoreTableNode.java
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Tajo-trunk-postcommit #524 (See https://builds.apache.org/job/Tajo-trunk-postcommit/524/ ) TAJO-267 : Implement equals() and deepEquals() functions at LogicalNode. (jihoon) (jihoonson: https://git-wip-us.apache.org/repos/asf?p=incubator-tajo.git&a=commit&h=668fed59561114c96e8120f6705fc5dc5e2a3ffe ) tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/JoinNode.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/SortNode.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/UnaryNode.java CHANGES.txt tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/BinaryNode.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/LimitNode.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/LogicalRootNode.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/LogicalNode.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalNode.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ProjectionNode.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/GroupbyNode.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/SelectionNode.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/StoreTableNode.java
        Hide
        jihoonson Jihoon Son added a comment -

        Thanks.
        I've removed some unused imports from the patch, and then committed it.

        Show
        jihoonson Jihoon Son added a comment - Thanks. I've removed some unused imports from the patch, and then committed it.
        Hide
        hyunsik Hyunsik Choi added a comment -

        +1

        The patch looks good for me. It would be great to remove some unused imports in JoinNode, and TestLogicalNode before you commit this patch.

        Show
        hyunsik Hyunsik Choi added a comment - +1 The patch looks good for me. It would be great to remove some unused imports in JoinNode, and TestLogicalNode before you commit this patch.
        Hide
        jihoonson Jihoon Son added a comment -

        Thank you for your comment.
        I attached the second patch.

        Show
        jihoonson Jihoon Son added a comment - Thank you for your comment. I attached the second patch.
        Hide
        hyunsik Hyunsik Choi added a comment -

        deepEquals() is implemented in all nodes, including ExceptNode, GroupbyNode, IntersectNode, and so on. I think that it would be better to implement deepEquals() is only in BinaryNode and UnaryNode. And, it may be enough that other node types only have equals() method.

        Show
        hyunsik Hyunsik Choi added a comment - deepEquals() is implemented in all nodes, including ExceptNode, GroupbyNode, IntersectNode, and so on. I think that it would be better to implement deepEquals() is only in BinaryNode and UnaryNode. And, it may be enough that other node types only have equals() method.
        Hide
        hyunsik Hyunsik Choi added a comment - - edited

        I'll take a look at this patch this afternoon.

        Show
        hyunsik Hyunsik Choi added a comment - - edited I'll take a look at this patch this afternoon.
        Hide
        hyunsik Hyunsik Choi added a comment -

        I've scheduled this issue to 0.3-incubating release.

        Show
        hyunsik Hyunsik Choi added a comment - I've scheduled this issue to 0.3-incubating release.
        Hide
        jihoonson Jihoon Son added a comment -

        I submitted a patch.
        It passes 'mvn clean verify'.

        Show
        jihoonson Jihoon Son added a comment - I submitted a patch. It passes 'mvn clean verify'.

          People

          • Assignee:
            jihoonson Jihoon Son
            Reporter:
            jihoonson Jihoon Son
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development