switch (opType) {
case OpTypes.ARRAY_AGG :
arrayDataType =
new ArrayType(rowDataType,
ArrayType.defaultArrayCardinality);
dataType = new ArrayType(exprType,
ArrayType.defaultArrayCardinality);
break;
case OpTypes.GROUP_CONCAT :
arrayDataType =
new ArrayType(rowDataType,
ArrayType.defaultArrayCardinality);
dataType = Type.SQL_VARCHAR_DEFAULT;
break;
case OpTypes.MEDIAN :
arrayDataType =
new ArrayType(nodeDataTypes[0],
ArrayType.defaultArrayCardinality);
dataType = SetFunction.getType(session, OpTypes.MEDIAN,
exprType);
if (!exprType.isNumberType()) {