/** * @return the scale */ public int getScale() { return columnSchema.getScale(); }
private static String parseStringToBigDecimal(String value, ColumnSchema columnSchema) { BigDecimal bigDecimal = new BigDecimal(value).setScale(columnSchema.getScale(), RoundingMode.HALF_UP); BigDecimal normalizedValue = normalizeDecimalValue(bigDecimal, columnSchema.getPrecision()); if (null != normalizedValue) { return normalizedValue.toString(); } return null; }
private static String parseStringToBigDecimal(String value, CarbonDimension dimension) { BigDecimal bigDecimal = new BigDecimal(value) .setScale(dimension.getColumnSchema().getScale(), RoundingMode.HALF_UP); BigDecimal normalizedValue = normalizeDecimalValue(bigDecimal, dimension.getColumnSchema().getPrecision()); if (null != normalizedValue) { return normalizedValue.toString(); } return null; }
/** * Construct Field from ColumnSchema * * @param columnSchema ColumnSchema, Store the information about the column meta data */ public Field(ColumnSchema columnSchema) { this.name = columnSchema.getColumnName(); this.type = columnSchema.getDataType(); children = new LinkedList<>(); schemaOrdinal = columnSchema.getSchemaOrdinal(); precision = columnSchema.getPrecision(); scale = columnSchema.getScale(); }
if (org.apache.carbondata.core.metadata.datatype.DataTypes.isDecimal(dataType)) { fields.add(new StructField(carbonColumn.getColumnName(), new DecimalType(carbonColumn.getPrecision(), carbonColumn.getScale()), true, Metadata.empty())); } else if (org.apache.carbondata.core.metadata.datatype.DataTypes.isStructType(dataType)) {
private static void updateDecimalType(TableInfo tableInfo) { List<ColumnSchema> deserializedColumns = tableInfo.getFactTable().getListOfColumns(); for (ColumnSchema column : deserializedColumns) { DataType dataType = column.getDataType(); if (DataTypes.isDecimal(dataType)) { column.setDataType(DataTypes.createDecimalType(column.getPrecision(), column.getScale())); } } if (tableInfo.getFactTable().getPartitionInfo() != null) { List<ColumnSchema> partitionColumns = tableInfo.getFactTable().getPartitionInfo().getColumnSchemaList(); for (ColumnSchema column : partitionColumns) { DataType dataType = column.getDataType(); if (DataTypes.isDecimal(dataType)) { column.setDataType(DataTypes.createDecimalType(column.getPrecision(), column.getScale())); } } } }
columnSchema.setDataType( DataTypeUtil.valueOf( columnSchema.getDataType(), columnSchema.getPrecision(), columnSchema.getScale())); columnSchema.setDataType(DataTypeUtil .valueOf(columnSchema.getDataType(), columnSchema.getPrecision(), columnSchema.getScale())); columnSchema.setDataType( DataTypeUtil.valueOf( columnSchema.getDataType(), columnSchema.getPrecision(), columnSchema.getScale())); columnSchema.setDataType(DataTypeUtil .valueOf(columnSchema.getDataType(), columnSchema.getPrecision(), columnSchema.getScale()));
BigDecimal bigDecimalValue = columnPage.getDecimal(index); if (null != bigDecimalValue && msrColumnEvalutorInfo.getCarbonColumn().getColumnSchema().getScale() > bigDecimalValue.scale()) { bigDecimalValue = bigDecimalValue .setScale(msrColumnEvalutorInfo.getCarbonColumn().getColumnSchema().getScale(), RoundingMode.HALF_UP);
output = DataTypeUtil.getNoDictionaryValueBasedOnDataType(literalValue, dataField.getColumn().getDataType(), dataField.getColumn().getColumnSchema().getScale(), dataField.getColumn().getColumnSchema().getPrecision(), true, dateFormat); } else { output = DataTypeUtil.getNoDictionaryValueBasedOnDataType(literalValue, dataField.getColumn().getDataType(), dataField.getColumn().getColumnSchema().getScale(), dataField.getColumn().getColumnSchema().getPrecision(), false, dateFormat); output = DataTypeUtil .getMeasureValueBasedOnDataType(literalValue, dataField.getColumn().getDataType(), dataField.getColumn().getColumnSchema().getScale(), dataField.getColumn().getColumnSchema().getPrecision(), true); } else { output = DataTypeUtil .getMeasureValueBasedOnDataType(literalValue, dataField.getColumn().getDataType(), dataField.getColumn().getColumnSchema().getScale(), dataField.getColumn().getColumnSchema().getPrecision());
thriftColumnSchema.setColumn_group_id(-1); if (DataTypes.isDecimal(wrapperColumnSchema.getDataType())) { thriftColumnSchema.setScale(wrapperColumnSchema.getScale()); thriftColumnSchema.setPrecision(wrapperColumnSchema.getPrecision()); } else {
.setPrecision(queryDimension.getDimension().getColumnSchema().getPrecision()); tableDimension.getColumnSchema() .setScale(queryDimension.getDimension().getColumnSchema().getScale()); tableDimension.getColumnSchema() .setDefaultValue(queryDimension.getDimension().getDefaultValue());