TInstance projectInst = typesTranslator.typeForSQLType(projectType);
leftProject.applyCast(i, projectType, projectInst);
rightProject.applyCast(i, projectType, projectInst);
ResultField leftField = leftResult.getFields().get(i);
ResultField rightField = rightResult.getFields().get(i);
String name = null;
if (leftField.getName() != null && rightField.getName() != null)
name = leftField.getName();
else if (leftField.getName() != null)
name = leftField.getName();
else if (rightField.getName() != null)
name = rightField.getName();
Column column = null;
// If both side of the setPlan reference the same column, use it, else null
if (leftField.getColumn() != null && rightField.getColumn() != null &&
leftField.getColumn() == rightField.getColumn())
column = leftField.getColumn();
fields.add(new ResultField(name, projectType, column));
fields.get(i).setType(typesTranslator.typeForSQLType(projectType));
}
setPlan.setResults(fields);