/** * Set the scale if it is decimal type */ public void setScale(int scale) { this.scale = scale; if (DataTypes.isDecimal(dataType)) { ((DecimalType) dataType).setScale(scale); } }
public static ColumnSpec newInstanceLegacy(String fieldName, DataType schemaDataType, ColumnType columnType) { // for backward compatibility as the precision and scale is not stored, the values should be // initialized with -1 for both precision and scale if (schemaDataType instanceof DecimalType) { ((DecimalType) schemaDataType).setPrecision(-1); ((DecimalType) schemaDataType).setScale(-1); } return new ColumnSpec(fieldName, schemaDataType, columnType); }
@Override public void readFields(DataInput in) throws IOException { this.fieldName = in.readUTF(); this.schemaDataType = DataTypes.valueOf(in.readByte()); this.columnType = ColumnType.valueOf(in.readByte()); int scale = in.readInt(); int precision = in.readInt(); if (DataTypes.isDecimal(this.schemaDataType)) { DecimalType decimalType = (DecimalType) this.schemaDataType; decimalType.setPrecision(precision); decimalType.setScale(scale); } } }
DecimalType decimalType = (DecimalType) dataType; decimalType.setPrecision(precision); decimalType.setScale(scale);
@Override public void readFields(DataInput in) throws IOException { columnSpec = new TableSpec.ColumnSpec(); columnSpec.readFields(in); storeDataType = DataTypes.valueOf(in.readByte()); if (DataTypes.isDecimal(storeDataType)) { DecimalType decimalType = (DecimalType) storeDataType; decimalType.setPrecision(columnSpec.getPrecision()); decimalType.setScale(columnSpec.getScale()); } setDecimal(in.readInt()); setDataTypeSelected(in.readByte()); readMinMax(in); compressorName = in.readUTF(); }
DecimalType decimalType = (DecimalType) dataType; decimalType.setPrecision(externalColumnSchema.getPrecision()); decimalType.setScale(externalColumnSchema.getScale());
DecimalType decimalType = (DecimalType) dataType; decimalType.setPrecision(externalColumnSchema.getPrecision()); decimalType.setScale(externalColumnSchema.getScale());