// This part is required because some node does not have any targets,
// if the node has the same input and output schemas.
Target[] checkingTargets;
if (!projectable.hasTargets()) {
Schema outSchema = node.getOutSchema();
checkingTargets = new Target[outSchema.getColumnNum() + newEvaluatedTargetIds.size()];
PlannerUtil.schemaToTargets(outSchema, checkingTargets);
int baseIdx = outSchema.getColumnNum();
for (int i = 0; i < newEvaluatedTargetIds.size(); i++) {
checkingTargets[baseIdx + i] = targetListManager.getTarget(newEvaluatedTargetIds.get(i));
}
} else {
checkingTargets = projectable.getTargets();