Details

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

      Description

      Background

      The current Tajo does not support outer join. The parser part for outer join was already implemented.

      Proposal

      In this issue, we should improve LogicalPlanner/LogicalOptimizer to deal with outer joins. Then, we should adopt outer join to existing physical join operators like HashJoinExec and MergeJoinExec.

        Issue Links

          Activity

          Hide
          Hyunsik Choi added a comment -

          Since all sub tasks are completed, I fix this issue.

          Show
          Hyunsik Choi added a comment - Since all sub tasks are completed, I fix this issue.
          Hide
          Hyunsik Choi added a comment -

          TestMergeJoinExec and TestHashJoinExec are good starting points for digging join operators.

          Show
          Hyunsik Choi added a comment - TestMergeJoinExec and TestHashJoinExec are good starting points for digging join operators.
          Hide
          Hyunsik Choi added a comment -

          Hi Alexander,

          Physical operators are in tajo-core/tajo-core-backend/src/main/java/tajo/engine/planner/physical. HashJoinExec and MergeJoinExec are in that directory too. Both operators work in default as inner join operators.

          Tajo uses ANTLR as a parser generator. The ANTLR parser rule is tajo-core/tajo-core-backend/src/main/antlr3/tajo/engine/parser/NQL.g.

          tajo.engine.parser.QueryAnalyzer analyzes an AST generated from SQL and transforms the AST into an annotated query block object.

          Show
          Hyunsik Choi added a comment - Hi Alexander, Physical operators are in tajo-core/tajo-core-backend/src/main/java/tajo/engine/planner/physical. HashJoinExec and MergeJoinExec are in that directory too. Both operators work in default as inner join operators. Tajo uses ANTLR as a parser generator. The ANTLR parser rule is tajo-core/tajo-core-backend/src/main/antlr3/tajo/engine/parser/NQL.g. tajo.engine.parser.QueryAnalyzer analyzes an AST generated from SQL and transforms the AST into an annotated query block object.
          Hide
          Alexander Sibetheros added a comment -

          I searched through the files mentioned above but was unable to find where Inner Join was implemented. Could someone point me towards that direction(Function name) so I can figure out how much work is needed in order to implement Outer Join. Also I have not been able to find the parser mentioned.

          Show
          Alexander Sibetheros added a comment - I searched through the files mentioned above but was unable to find where Inner Join was implemented. Could someone point me towards that direction(Function name) so I can figure out how much work is needed in order to implement Outer Join. Also I have not been able to find the parser mentioned.

            People

            • Assignee:
              Unassigned
              Reporter:
              Hyunsik Choi
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development