public ImmutableList<RelCollation> collations(EnumerableMergeJoin join, RelMetadataQuery mq) { // In general a join is not sorted. But a merge join preserves the sort // order of the left and right sides. return ImmutableList.copyOf( RelMdCollation.mergeJoin(mq, join.getLeft(), join.getRight(), join.getLeftKeys(), join.getRightKeys())); }
public ImmutableList<RelCollation> collations(EnumerableMergeJoin join, RelMetadataQuery mq) { // In general a join is not sorted. But a merge join preserves the sort // order of the left and right sides. return ImmutableList.copyOf( RelMdCollation.mergeJoin(mq, join.getLeft(), join.getRight(), join.getLeftKeys(), join.getRightKeys())); }
public static EnumerableMergeJoin create(RelNode left, RelNode right, RexLiteral condition, ImmutableIntList leftKeys, ImmutableIntList rightKeys, JoinRelType joinType) throws InvalidRelException { final RelOptCluster cluster = right.getCluster(); RelTraitSet traitSet = cluster.traitSet(); if (traitSet.isEnabled(RelCollationTraitDef.INSTANCE)) { final RelMetadataQuery mq = cluster.getMetadataQuery(); final List<RelCollation> collations = RelMdCollation.mergeJoin(mq, left, right, leftKeys, rightKeys); traitSet = traitSet.replace(collations); } return new EnumerableMergeJoin(cluster, traitSet, left, right, condition, leftKeys, rightKeys, ImmutableSet.of(), joinType); }
public static EnumerableMergeJoin create(RelNode left, RelNode right, RexLiteral condition, ImmutableIntList leftKeys, ImmutableIntList rightKeys, JoinRelType joinType) throws InvalidRelException { final RelOptCluster cluster = right.getCluster(); RelTraitSet traitSet = cluster.traitSet(); if (traitSet.isEnabled(RelCollationTraitDef.INSTANCE)) { final RelMetadataQuery mq = cluster.getMetadataQuery(); final List<RelCollation> collations = RelMdCollation.mergeJoin(mq, left, right, leftKeys, rightKeys); traitSet = traitSet.replace(collations); } return new EnumerableMergeJoin(cluster, traitSet, left, right, condition, leftKeys, rightKeys, ImmutableSet.of(), joinType); }
RelMdCollation.mergeJoin(mq, project, deptSort, leftKeys, rightKeys); assertThat(collations,
RelMdCollation.mergeJoin(mq, project, deptSort, leftKeys, rightKeys); assertThat(collations,