final AggregateCall call1; if (fieldSet.contains(ImmutableBitSet.of(aggCall.e.getArgList()))) { call1 = splitter.split(aggCall.e, mapping); } else { call1 = splitter.other(rexBuilder.getTypeFactory(), aggCall.e); final Integer rightSubTotal = sides.get(1).split.get(aggCall.i); newAggCalls.add( splitter.topSplit(rexBuilder, registry(projects), groupIndicatorCount, relBuilder.peek().getRowType(), aggCall.e, leftSubTotal == null ? -1 : leftSubTotal, if (splitter != null) { final RelDataType rowType = relBuilder.peek().getRowType(); projects2.add(splitter.singleton(rexBuilder, rowType, newAggCall));
final AggregateCall call1; if (fieldSet.contains(ImmutableBitSet.of(aggCall.e.getArgList()))) { call1 = splitter.split(aggCall.e, mapping); } else { call1 = splitter.other(rexBuilder.getTypeFactory(), aggCall.e); final Integer rightSubTotal = sides.get(1).split.get(aggCall.i); newAggCalls.add( splitter.topSplit(rexBuilder, registry(projects), groupIndicatorCount, newJoin.getRowType(), aggCall.e, leftSubTotal == null ? -1 : leftSubTotal, if (splitter != null) { projects2.add( splitter.singleton(rexBuilder, r.getRowType(), newAggCall));
if (!aggCall.e.getArgList().isEmpty() && fieldSet.contains(ImmutableBitSet.of(aggCall.e.getArgList()))) { final RexNode singleton = splitter.singleton(rexBuilder, joinInput.getRowType(), aggCall.e.transform(mapping)); final AggregateCall call1; if (fieldSet.contains(ImmutableBitSet.of(aggCall.e.getArgList()))) { final AggregateCall splitCall = splitter.split(aggCall.e, mapping); call1 = splitCall.adaptTo(joinInput, splitCall.getArgList(), splitCall.filterArg, oldGroupKeyCount, newGroupKeyCount); } else { call1 = splitter.other(rexBuilder.getTypeFactory(), aggCall.e); final Integer rightSubTotal = sides.get(1).split.get(aggCall.i); newAggCalls.add( splitter.topSplit(rexBuilder, registry(projects), groupIndicatorCount, relBuilder.peek().getRowType(), aggCall.e, leftSubTotal == null ? -1 : leftSubTotal, if (splitter != null) { final RelDataType rowType = relBuilder.peek().getRowType(); projects2.add(splitter.singleton(rexBuilder, rowType, newAggCall));
if (!aggCall.e.getArgList().isEmpty() && fieldSet.contains(ImmutableBitSet.of(aggCall.e.getArgList()))) { final RexNode singleton = splitter.singleton(rexBuilder, joinInput.getRowType(), aggCall.e.transform(mapping)); final AggregateCall call1; if (fieldSet.contains(ImmutableBitSet.of(aggCall.e.getArgList()))) { final AggregateCall splitCall = splitter.split(aggCall.e, mapping); call1 = splitCall.adaptTo(joinInput, splitCall.getArgList(), splitCall.filterArg, oldGroupKeyCount, newGroupKeyCount); } else { call1 = splitter.other(rexBuilder.getTypeFactory(), aggCall.e); final Integer rightSubTotal = sides.get(1).split.get(aggCall.i); newAggCalls.add( splitter.topSplit(rexBuilder, registry(projects), groupIndicatorCount, relBuilder.peek().getRowType(), aggCall.e, leftSubTotal == null ? -1 : leftSubTotal, if (splitter != null) { final RelDataType rowType = relBuilder.peek().getRowType(); projects2.add(splitter.singleton(rexBuilder, rowType, newAggCall));
if (!aggCall.e.getArgList().isEmpty() && fieldSet.contains(ImmutableBitSet.of(aggCall.e.getArgList()))) { final RexNode singleton = splitter.singleton(rexBuilder, joinInput.getRowType(), aggCall.e.transform(mapping)); final RexNode targetSingleton = rexBuilder.ensureType(aggCall.e.type, singleton, false); final AggregateCall call1; if (fieldSet.contains(ImmutableBitSet.of(aggCall.e.getArgList()))) { final AggregateCall splitCall = splitter.split(aggCall.e, mapping); call1 = splitCall.adaptTo( joinInput, splitCall.getArgList(), splitCall.filterArg, oldGroupKeyCount, newGroupKeyCount); } else { call1 = splitter.other(rexBuilder.getTypeFactory(), aggCall.e); final Integer rightSubTotal = sides.get(1).split.get(aggCall.i); newAggCalls.add( splitter.topSplit(rexBuilder, registry(projects), groupIndicatorCount, relBuilder.peek().getRowType(), aggCall.e, leftSubTotal == null ? -1 : leftSubTotal, if (splitter != null) { final RelDataType rowType = relBuilder.peek().getRowType(); final RexNode singleton = splitter.singleton(rexBuilder, rowType, newAggCall); final RelDataType originalAggCallType = aggregate.getRowType().getFieldList().get(aggCallIdx).getType();