super.evaluateChildren(batch);
}
int[] sel = batch.selected;
int n = batch.size;
ColumnVector outputVector = batch.cols[outputColumn];
if (n <= 0) {
// Nothing to do
return;
}
outputVector.init();
outputVector.noNulls = false;
outputVector.isRepeating = false;
if (batch.selectedInUse) {
for (int j = 0; j != n; j++) {
int i = sel[j];
outputVector.isNull[i] = true;
for (int k = 0; k < inputColumns.length; k++) {
ColumnVector cv = batch.cols[inputColumns[k]];
if ( (cv.isRepeating) && (cv.noNulls || !cv.isNull[0])) {
outputVector.isNull[i] = false;
outputVector.setElement(i, 0, cv);
break;
} else if ((!cv.isRepeating) && (cv.noNulls || !cv.isNull[i])) {
outputVector.isNull[i] = false;
outputVector.setElement(i, i, cv);
break;
}
}
}
} else {
for (int i = 0; i != n; i++) {
outputVector.isNull[i] = true;
for (int k = 0; k < inputColumns.length; k++) {
ColumnVector cv = batch.cols[inputColumns[k]];
if ((cv.isRepeating) && (cv.noNulls || !cv.isNull[0])) {
outputVector.isNull[i] = false;
outputVector.setElement(i, 0, cv);
break;
} else if ((!cv.isRepeating) && (cv.noNulls || !cv.isNull[i])) {