public ColumnDefinition(String columnName, DataTypeExpr dataType) { super(dataType.getTypeName()); this.columnName = columnName; // precision and scale if (dataType.hasLengthOrPrecision()) { setLengthOrPrecision(dataType.lengthOrPrecision); if (dataType.hasScale()) { setScale(dataType.scale); } } // nested records if (dataType.isRecordType()) { this.recordType = dataType.recordType; } // map type if (dataType.isMapType()) { this.mapType = dataType.mapType; } }
public ColumnDefinition(String columnName, DataTypeExpr dataType) { super(dataType.getTypeName()); this.columnName = columnName; // precision and scale if (dataType.hasLengthOrPrecision()) { setLengthOrPrecision(dataType.lengthOrPrecision); if (dataType.hasScale()) { setScale(dataType.scale); } } if (dataType.isRecordType()) { this.recordType = dataType.recordType; } if (dataType.isMapType()) { this.mapType = dataType.mapType; } if (dataType.isArrayType()) { this.arrayType = dataType.arrayType; } }
public static TypeDesc convertDataType(DataTypeExpr dataType) { TajoDataTypes.Type type = TajoDataTypes.Type.valueOf(dataType.getTypeName()); TajoDataTypes.DataType.Builder builder = TajoDataTypes.DataType.newBuilder(); builder.setType(type); if (dataType.hasLengthOrPrecision()) { builder.setLength(dataType.getLengthOrPrecision()); } else { if (type == TajoDataTypes.Type.CHAR) { builder.setLength(1); } } TypeDesc typeDesc; if (type == TajoDataTypes.Type.RECORD) { Schema nestedRecordSchema = convertTableElementsSchema(dataType.getNestedRecordTypes()); typeDesc = new TypeDesc(nestedRecordSchema); } else { typeDesc = new TypeDesc(builder.build()); } return typeDesc; }
public static Type convertDataType(DataTypeExpr dataType) { TajoDataTypes.Type type = TajoDataTypes.Type.valueOf(dataType.getTypeName());