@Override public synchronized boolean setNextRow(Object... row) { for (CollectExpression<?> collectExpression : collectExpressions) { collectExpression.setNextRow(row); } for (AggregationCollector aggregationCollector : aggregationCollectors) { aggregationCollector.processRow(); } return upstreamFailure.get() == null; }
@Override public void startProjection() { for (CollectExpression<?> collectExpression : collectExpressions) { collectExpression.startCollect(); } if (remainingUpstreams.get() <= 0) { upstreamFinished(); } }