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

Wrong parameter in EnumerableMergeJoin::create method

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

      Description

      The public EnumerableMergeJoin::create method takes a RexLiteral condition as parameter:

        public static EnumerableMergeJoin create(
            RelNode left, RelNode right,
            RexLiteral condition,  // here!
            ImmutableIntList leftKeys, ImmutableIntList rightKeys, JoinRelType joinType) {
          ...
        }
      

      However, in the actual (package-private) constructor (and in the parent Join class), the condition is defined as a RexNode:

        EnumerableMergeJoin(
            RelOptCluster cluster,
            RelTraitSet traits,
            RelNode left,
            RelNode right,
            RexNode condition,  // here!
            Set<CorrelationId> variablesSet,
            JoinRelType joinType) {
          ...
        }
      

      Therefore, the create method parameter must be fixed.

        Attachments

          Activity

            People

            • Assignee:
              rubenql Ruben Q L
              Reporter:
              rubenql Ruben Q L

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 40m
                40m

                  Issue deployment