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

Rules should use base class to find rule match & use factory for object creation

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.9.0-incubating
    • Component/s: None
    • Labels:
      None

      Description

      Rules should use base class to find rule match; also the actual object creation with in rules should be using factory.

      Eg: PushJoinThroughJoin, SwapJoin rules

        Activity

        Hide
        julianhyde Julian Hyde added a comment -

        In cases where there is an existing JoinRel, it is better to invoke JoinRelBase.copy. It's better than a factory. PushJoinThroughJoinRule and SwapJoinRule already do this.

        LoptOptimizeJoinRule needs to use a JoinFactory.

        ExtractJoinFilterRule, PushProjectPastJoinRule, PushSemiJoinPastJoinRule need to use JoinRelBase.copy.

        Leaving RelDecorrelator, RelStructuredTypeFlattener, SqlToRelConverter as is for now. They work in the logical domain.

        Show
        julianhyde Julian Hyde added a comment - In cases where there is an existing JoinRel, it is better to invoke JoinRelBase.copy. It's better than a factory. PushJoinThroughJoinRule and SwapJoinRule already do this. LoptOptimizeJoinRule needs to use a JoinFactory. ExtractJoinFilterRule, PushProjectPastJoinRule, PushSemiJoinPastJoinRule need to use JoinRelBase.copy. Leaving RelDecorrelator, RelStructuredTypeFlattener, SqlToRelConverter as is for now. They work in the logical domain.
        Show
        julianhyde Julian Hyde added a comment - Fixed in http://git-wip-us.apache.org/repos/asf/incubator-optiq/commit/e5188ec8 .
        Hide
        julianhyde Julian Hyde added a comment -

        Close issues resolved in release 0.9.0-incubating (2014-08-25).

        Show
        julianhyde Julian Hyde added a comment - Close issues resolved in release 0.9.0-incubating (2014-08-25).

          People

          • Assignee:
            julianhyde Julian Hyde
            Reporter:
            jpullokkaran Laljo John Pullokkaran
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development