@Override public BigDecimal getDecimal(Object valueToBeConverted) { return DataTypeUtil.byteToBigDecimal((byte[]) valueToBeConverted); }
public static Object getMeasureObjectFromDataType(byte[] data, DataType dataType) { if (data == null || data.length == 0) { return null; } ByteBuffer bb = ByteBuffer.wrap(data); if (dataType == DataTypes.BOOLEAN) { return BooleanConvert.byte2Boolean(bb.get()); } else if (dataType == DataTypes.SHORT) { return (short) bb.getLong(); } else if (dataType == DataTypes.INT) { return (int) bb.getLong(); } else if (dataType == DataTypes.LONG) { return bb.getLong(); } else if (dataType == DataTypes.FLOAT) { return bb.getFloat(); } else if (dataType == DataTypes.BYTE) { return bb.get(); } else if (DataTypes.isDecimal(dataType)) { return byteToBigDecimal(data); } else { return bb.getDouble(); } }
byte[] decimalBytes = new byte[len]; rowBuffer.get(decimalBytes); tmpContent = DataTypeUtil.byteToBigDecimal(decimalBytes); } else { throw new IllegalArgumentException("Unsupported data type: " + tmpDataType);
return DataTypeUtil.byteToBigDecimal(first).compareTo(DataTypeUtil.byteToBigDecimal(second)); } else { throw new IllegalArgumentException("Invalid data type:" + dataType);
measureDefaultValue = Boolean.valueOf(value); } else if (DataTypes.isDecimal(dataType)) { BigDecimal decimal = DataTypeUtil.byteToBigDecimal(defaultValue); if (columnSchema.getScale() > decimal.scale()) { decimal = decimal.setScale(columnSchema.getScale(), RoundingMode.HALF_UP);
measureDefaultValue = Boolean.valueOf(value); } else if (DataTypes.isDecimal(dataType)) { BigDecimal decimal = DataTypeUtil.byteToBigDecimal(defaultValue); if (columnSchema.getScale() > decimal.scale()) { decimal = decimal.setScale(columnSchema.getScale(), RoundingMode.HALF_UP);
@Override public void fillVector(Object valuesToBeConverted, int size, ColumnVectorInfo info, BitSet nullBitset, DataType pageType) { CarbonColumnVector vector = info.vector; int precision = info.measure.getMeasure().getPrecision(); int newMeasureScale = info.measure.getMeasure().getScale(); if (valuesToBeConverted instanceof byte[][]) { byte[][] data = (byte[][]) valuesToBeConverted; for (int i = 0; i < size; i++) { if (nullBitset.get(i)) { vector.putNull(i); } else { BigDecimal value = DataTypeUtil.byteToBigDecimal(data[i]); if (value.scale() < newMeasureScale) { value = value.setScale(newMeasureScale); } vector.putDecimal(i, value, precision); } } } }
byte[] max = new byte[in.readShort()]; in.readFully(max); this.setMaxValue(DataTypeUtil.byteToBigDecimal(max)); byte[] min = new byte[in.readShort()]; in.readFully(min); this.setMinValue(DataTypeUtil.byteToBigDecimal(min));
return null; return getDataTypeConverter().convertFromBigDecimalToDecimal(byteToBigDecimal(dataInBytes)); } else {
} else if (DataTypes.isDecimal(dataType)) { int len = input.readShort(); outputValues[colCount] = DataTypeUtil.byteToBigDecimal(input.readBytes(len));
int len = input.readShort(); if (isRequired[colCount]) { BigDecimal v = DataTypeUtil.byteToBigDecimal(input.readBytes(len)); if (isFilterRequired[colCount]) { filterValues[filterMap[colCount]] = v;