Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-811

Extend JoinProjectTransposeRule with option to support outer joins

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.4.0-incubating
    • Component/s: core
    • Labels:
      None

      Description

      We would like to extend this rule to support also outer joins.

        Activity

        Hide
        jcamachorodriguez Jesus Camacho Rodriguez added a comment -

        Julian Hyde, I have created a pull request for this issue. Could you take a look? Thanks

        Show
        jcamachorodriguez Jesus Camacho Rodriguez added a comment - Julian Hyde , I have created a pull request for this issue. Could you take a look? Thanks
        Hide
        julianhyde Julian Hyde added a comment -
        Show
        julianhyde Julian Hyde added a comment - Here's the pull request: https://github.com/apache/incubator-calcite/pull/109
        Hide
        julianhyde Julian Hyde added a comment -

        1. I would like to limit the number of overloaded constructors - please remove one, and deprecate the existing one, as I described in the pull request.

        2. Please add a test to RelOptRulesTest.

        When you've done those go ahead and commit.

        Show
        julianhyde Julian Hyde added a comment - 1. I would like to limit the number of overloaded constructors - please remove one, and deprecate the existing one, as I described in the pull request. 2. Please add a test to RelOptRulesTest. When you've done those go ahead and commit.
        Hide
        julianhyde Julian Hyde added a comment -

        And when you commit be sure to add 'Close apache/incubator-calcite#109' to the check-in comment.

        Show
        julianhyde Julian Hyde added a comment - And when you commit be sure to add 'Close apache/incubator-calcite#109' to the check-in comment.
        Hide
        jcamachorodriguez Jesus Camacho Rodriguez added a comment - - edited

        Running on problems related to data types when the rule is applied on the outer joins. I'm checking into this further.

        Show
        jcamachorodriguez Jesus Camacho Rodriguez added a comment - - edited Running on problems related to data types when the rule is applied on the outer joins. I'm checking into this further.
        Hide
        julianhyde Julian Hyde added a comment -

        My guess is that the nullability of columns changes when the expression is pulled up, and therefore the RexInputRef will need to be updated to the new type. Make sure you run with asserts enabled!

        RexUtil.fixUp does something similar to what you want.

        Show
        julianhyde Julian Hyde added a comment - My guess is that the nullability of columns changes when the expression is pulled up, and therefore the RexInputRef will need to be updated to the new type. Make sure you run with asserts enabled! RexUtil.fixUp does something similar to what you want.
        Show
        jcamachorodriguez Jesus Camacho Rodriguez added a comment - Fixed in https://git1-us-west.apache.org/repos/asf?p=incubator-calcite.git;a=commit;h=2376ae4a876b421ee19c2b2a05a6bd1d306e442b
        Hide
        jnadeau Jacques Nadeau added a comment -

        Resolved in release 1.4.0-incubating (2015-08-23)

        Show
        jnadeau Jacques Nadeau added a comment - Resolved in release 1.4.0-incubating (2015-08-23)

          People

          • Assignee:
            jcamachorodriguez Jesus Camacho Rodriguez
            Reporter:
            jcamachorodriguez Jesus Camacho Rodriguez
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development