@Override public Object convert(BigDecimal decimal) { return DataTypeUtil.bigDecimalToByte(decimal); }
@Override public BigDecimal getDecimal(Object valueToBeConverted) { return DataTypeUtil.byteToBigDecimal((byte[]) valueToBeConverted); }
/** * Wrapper for actual getDataBasedOnDataTypeForNoDictionaryColumn. * * @param dataInBytes * @param actualDataType * @return */ public static Object getDataBasedOnDataTypeForNoDictionaryColumn(byte[] dataInBytes, DataType actualDataType) { return getDataBasedOnDataTypeForNoDictionaryColumn(dataInBytes, actualDataType, true); }
/** * Below method will be used to convert the data passed to its actual data * type * * @param data data * @param actualDataType actual data type * @return actual data after conversion */ public static Object getDataBasedOnDataType(String data, DataType actualDataType) { return getDataBasedOnDataType(data, actualDataType, getDataTypeConverter()); }
if (isEmptyByteArray(dataInBytes)) { return null; if (isEmptyByteArray(dataInBytes)) { return null; if (isEmptyByteArray(dataInBytes)) { return null; if (isEmptyByteArray(dataInBytes)) { return null; if (isEmptyByteArray(dataInBytes)) { return null; if (isEmptyByteArray(dataInBytes)) { return null; if (isEmptyByteArray(dataInBytes)) { return null; return getDataTypeConverter().convertFromBigDecimalToDecimal(byteToBigDecimal(dataInBytes)); } else { return getDataTypeConverter().convertFromByteToUTF8String(dataInBytes);
} else { if (DataTypeUtil.isPrimitiveColumn(dims.getDataType()) && !dims.isComplex()) { .getDataBasedOnDataTypeForNoDictionaryColumn((byte[]) row[i], dims.getDataType());
@Override public Object getDataBasedOnDataType(ByteBuffer dataBuffer) { int childLength = dataBuffer.getShort(); Object[] fields = new Object[childLength]; for (int i = 0; i < childLength; i++) { fields[i] = children.get(i).getDataBasedOnDataType(dataBuffer); } return DataTypeUtil.getDataTypeConverter().wrapWithGenericRow(fields); }
@Override protected byte[] convertNonDictionaryValue(int indexColIdx, Object value) { // no dictionary measure columns will be of original data, so convert it to bytes if (DataTypeUtil.isPrimitiveColumn(indexColumns.get(indexColIdx).getDataType())) { return CarbonUtil.getValueAsBytes(indexColumns.get(indexColIdx).getDataType(), value); } return (byte[]) value; }
actualData = DataTypeUtil.getDataBasedOnDataTypeForNoDictionaryColumn(value, this.dataType); int surrgateValue = (int) bit.getKeyArray(data, 0)[0]; String dictionaryValueForKey = dictionary.getDictionaryValueForKey(surrgateValue); actualData = DataTypeUtil.getDataBasedOnDataType(dictionaryValueForKey, this.dataType);
DataTypeUtil.getDataBasedOnDataTypeForNoDictionaryColumn(b, storageColumns[colCount].getDataType()); int len = input.readShort(); if (isRequired[colCount]) { BigDecimal v = DataTypeUtil.byteToBigDecimal(input.readBytes(len)); if (isFilterRequired[colCount]) { filterValues[filterMap[colCount]] = v; DataTypeUtil.getDataTypeConverter().convertFromBigDecimalToDecimal(v);
String parsedValue = parseStringToBigDecimal(data, columnSchema); if (null == parsedValue) { return null; return bigDecimalToByte(javaDecVal); } else { return getDataTypeConverter().convertFromStringToByte(data);
private boolean isScanRequired(byte[] maxValue, Object[] filterValue, DataType dataType) { Object value = DataTypeUtil.getMeasureObjectFromDataType(maxValue, dataType); for (int i = 0; i < filterValue.length; i++) { // TODO handle min and max for null values. if (filterValue[i] == null) { return true; } if (comparator.compare(filterValue[i], value) < 0) { return true; } } return false; }
} else if (i < noDictionaryCount) { if (DataTypeUtil .isPrimitiveColumn(noDictDimensionPages[i].getColumnSpec().getSchemaDataType())) { value = DataTypeUtil.getDataTypeConverter().convertFromDecimalToBigDecimal(value); model.isCompactionFlow() && value != null) { value = DataTypeUtil.getDataTypeConverter().convertFromDecimalToBigDecimal(value);
@Override public Object read(JsonReader jsonReader) throws IOException { JsonToken token = jsonReader.peek(); if (token == JsonToken.STRING) { return DataTypeUtil.valueOf(jsonReader.nextString()); } else { // use original deserializer logic return fallBack_original.fromJson(jsonReader, DataType.class); } }
.getDataBasedOnDataType(dictionaries[i].getDictionaryValueForKey((int) data[i]), dataTypes[i]); if (data[i] == null) {
@Override public void writeByteArray(Object input, DataOutputStream dataOutputStream, BadRecordLogHolder logHolder) throws IOException, DictionaryGenerationException { String parsedValue = input == null ? null : DataTypeUtil.parseValue(input.toString(), carbonDimension); String message = logHolder.getColumnMessageMap().get(carbonDimension.getColName()); if (this.isDictionary) { value = DataTypeUtil.getBytesBasedOnDataTypeForNoDictionaryColumn(parsedValue, this.carbonDimension.getDataType(), dateFormat); ((DirectDictionary) dictionaryGenerator).generateKey((long) input)); } else { value = DataTypeUtil.getDataDataTypeForNoDictionaryColumn(parsedValue, this.carbonDimension.getDataType(), dateFormat);
/** * This method will convert a given value to its specific type * * @param msrValue * @param dataType * @return */ public static Object getMeasureValueBasedOnDataType(String msrValue, DataType dataType, int scale, int precision) { return getMeasureValueBasedOnDataType(msrValue, dataType, scale, precision, false); }
if (!dataField.isUseActualData()) { byte[] parsedValue = DataTypeUtil .getBytesBasedOnDataTypeForNoDictionaryColumn(dimensionValue, dataType, dateFormat); if (dataType == DataTypes.STRING && parsedValue.length > CarbonCommonConstants.MAX_CHARS_PER_COLUMN_DEFAULT) { } else { Object parsedValue = DataTypeUtil .getDataDataTypeForNoDictionaryColumn(dimensionValue, dataType, dateFormat); if (dataType == DataTypes.STRING && parsedValue.toString().length() > CarbonCommonConstants.MAX_CHARS_PER_COLUMN_DEFAULT) {
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(), if (dataField.isUseActualData()) { 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());
.getBytesBasedOnDataTypeForNoDictionaryColumn(result, dataType, timeFormat));