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; }
private static void fillCollumnSchemaListForComplexDims( List<CarbonDimension> carbonDimensionsList, List<ColumnSchema> wrapperColumnSchemaList) { for (CarbonDimension carbonDimension : carbonDimensionsList) { wrapperColumnSchemaList.add(carbonDimension.getColumnSchema()); List<CarbonDimension> childDims = carbonDimension.getListOfChildDimensions(); if (null != childDims && childDims.size() > 0) { fillCollumnSchemaListForComplexDims(childDims, wrapperColumnSchemaList); } } }
if (dimension.getColumnSchema().getScale() > javaDecVal.scale()) { javaDecVal = javaDecVal.setScale(dimension.getColumnSchema().getScale());
if (carbonDimension.getColumnSchema().getColumnUniqueId() .equalsIgnoreCase(queryColumn.getColumnId())) { return true;
updatedCardinalityList.add(value); updatedColumnSchemaList.add(dimension.getColumnSchema());
public static AbsoluteTableIdentifier getTableIdentifierForColumn( CarbonDimension carbonDimension) { RelationIdentifier relation = carbonDimension.getColumnSchema() .getParentColumnTableRelations() .get(0) .getRelationIdentifier(); String parentTableName = relation.getTableName(); String parentDatabaseName = relation.getDatabaseName(); String parentTableId = relation.getTableId(); return AbsoluteTableIdentifier.from(relation.getTablePath(), parentDatabaseName, parentTableName, parentTableId); }
AbsoluteTableIdentifier dictionarySourceAbsoluteTableIdentifier; ColumnIdentifier columnIdentifier; if (null != dimension.getColumnSchema().getParentColumnTableRelations() && !dimension .getColumnSchema().getParentColumnTableRelations().isEmpty()) { dictionarySourceAbsoluteTableIdentifier = getTableIdentifierForColumn(dimension); columnIdentifier = new ColumnIdentifier( dimension.getColumnSchema().getParentColumnTableRelations().get(0).getColumnId(), dimension.getColumnProperties(), dimension.getDataType()); } else {
if (dimension.getColumnSchema().getDataType() == DataTypes.VARCHAR) { isVarcharDimMapping[i] = true;
dictionaryPath = dicPath; if (null != carbonDimension.getColumnSchema().getParentColumnTableRelations() && carbonDimension.getColumnSchema().getParentColumnTableRelations().size() == 1) { dictionarySourceAbsoluteTableIdentifier = QueryUtil.getTableIdentifierForColumn(carbonDimension); columnIdentifier = new ColumnIdentifier( carbonDimension.getColumnSchema().getParentColumnTableRelations().get(0).getColumnId(), carbonDimension.getColumnProperties(), carbonDimension.getDataType());
int index = columnsInTable.indexOf(dimension.getDimension().getColumnSchema()); if (index > -1) { if (!columnsInTable.get(index).isDimensionColumn()) {
tableDimension)) { ProjectionDimension currentBlockDimension = new ProjectionDimension(tableDimension); tableDimension.getColumnSchema() .setPrecision(queryDimension.getDimension().getColumnSchema().getPrecision()); tableDimension.getColumnSchema() .setScale(queryDimension.getDimension().getColumnSchema().getScale()); tableDimension.getColumnSchema() .setDefaultValue(queryDimension.getDimension().getDefaultValue()); currentBlockDimension.setOrdinal(queryDimension.getOrdinal());
new CarbonColumn(dim.getColumnSchema(), dim.getOrdinal(), dim.getSchemaOrdinal());
if (dim.getDimension().getDataType() == DataTypes.STRING || dim.getDimension().getDataType() == DataTypes.VARCHAR || dim.getDimension() .getColumnSchema().isLocalDictColumn()) { this.isNoDictStringField[dim.getOrdinal()] = true;