@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; }
protected byte[] convertNonDictionaryValue(int indexColIdx, Object value) { if (DataTypes.VARCHAR == indexColumns.get(indexColIdx).getDataType()) { return DataConvertUtil.getRawBytesForVarchar((byte[]) value); } else if (DataTypeUtil.isPrimitiveColumn(indexColumns.get(indexColIdx).getDataType())) { // get bytes for the original value of the no dictionary column return CarbonUtil.getValueAsBytes(indexColumns.get(indexColIdx).getDataType(), value); } else { return DataConvertUtil.getRawBytes((byte[]) value); } }
if (DataTypeUtil.isPrimitiveColumn(dataType) && !dimColEvaluatorInfoList.get(0) .getDimension().hasEncoding(Encoding.DICTIONARY)) { isScanRequired = isScanRequired(minValue, filterRangeValues, dataType);
if (DataTypeUtil.isPrimitiveColumn(dataType) && !dimColEvaluatorInfoList.get(0) .getDimension().hasEncoding(Encoding.DICTIONARY)) { isScanRequired = isScanRequired(minValue, filterRangeValues, dataType);
if (DataTypeUtil.isPrimitiveColumn(dataType) && !dimColEvaluatorInfoList.get(0) .getDimension().hasEncoding(Encoding.DICTIONARY)) { isScanRequired = isScanRequired(maxValue, filterRangeValues, dataType);
@Override public ColumnPageEncoder createEncoder(TableSpec.ColumnSpec columnSpec, ColumnPage inputPage) { // TODO: add log // choose the encoding type for measure type and no dictionary primitive type columns if (columnSpec instanceof TableSpec.MeasureSpec || ( DataTypeUtil.isPrimitiveColumn(columnSpec.getSchemaDataType()) && columnSpec.getColumnType() == ColumnType.PLAIN_VALUE)) { return createEncoderForMeasureOrNoDictionaryPrimitive(inputPage, columnSpec); } else { if (newWay) { return createEncoderForDimension((TableSpec.DimensionSpec) columnSpec, inputPage); } else { assert columnSpec instanceof TableSpec.DimensionSpec; return createEncoderForDimensionLegacy((TableSpec.DimensionSpec) columnSpec); } } }
if (DataTypeUtil.isPrimitiveColumn(dataType) && !dimColEvaluatorInfoList.get(0) .getDimension().hasEncoding(Encoding.DICTIONARY)) { isScanRequired = isScanRequired(maxValue, filterRangeValues, dataType);
private boolean isScanRequired(DimensionRawColumnChunk rawColumnChunk, int i) { boolean scanRequired; DataType dataType = dimColEvaluatorInfoList.get(0).getDimension().getDataType(); // for no dictionary measure column comparison can be done // on the original data as like measure column if (DataTypeUtil.isPrimitiveColumn(dataType) && !dimColEvaluatorInfoList.get(0) .getDimension().hasEncoding(Encoding.DICTIONARY)) { scanRequired = isScanRequired(rawColumnChunk.getMinValues()[i], this.filterRangeValues, dataType); } else { scanRequired = isScanRequired(rawColumnChunk.getMinValues()[i], this.filterRangeValues, rawColumnChunk.getMinMaxFlagArray()[i]); } return scanRequired; }
private boolean isScanRequired(DimensionRawColumnChunk rawColumnChunk, int i) { boolean scanRequired; DataType dataType = dimColEvaluatorInfoList.get(0).getDimension().getDataType(); // for no dictionary measure column comparison can be done // on the original data as like measure column if (DataTypeUtil.isPrimitiveColumn(dataType) && !dimColEvaluatorInfoList.get(0) .getDimension().hasEncoding(Encoding.DICTIONARY)) { scanRequired = isScanRequired(rawColumnChunk.getMaxValues()[i], this.filterRangeValues, dataType); } else { scanRequired = isScanRequired(rawColumnChunk.getMaxValues()[i], this.filterRangeValues, rawColumnChunk.getMinMaxFlagArray()[i]); } return scanRequired; }
} else { if (DataTypeUtil.isPrimitiveColumn(dims.getDataType()) && !dims.isComplex()) {
private boolean isScanRequired(DimensionRawColumnChunk rawColumnChunk, int i) { boolean scanRequired; DataType dataType = dimColEvaluatorInfoList.get(0).getDimension().getDataType(); // for no dictionary measure column comparison can be done // on the original data as like measure column if (DataTypeUtil.isPrimitiveColumn(dataType) && !dimColEvaluatorInfoList.get(0) .getDimension().hasEncoding(Encoding.DICTIONARY)) { scanRequired = isScanRequired(rawColumnChunk.getMinValues()[i], this.filterRangeValues, dataType); } else { scanRequired = isScanRequired(rawColumnChunk.getMinValues()[i], this.filterRangeValues, rawColumnChunk.getMinMaxFlagArray()[i]); } return scanRequired; }
private boolean isScanRequired(DimensionRawColumnChunk rawColumnChunk, int columnIndex) { boolean scanRequired; DataType dataType = dimColEvaluatorInfoList.get(0).getDimension().getDataType(); // for no dictionary measure column comparison can be done // on the original data as like measure column if (DataTypeUtil.isPrimitiveColumn(dataType) && !dimColEvaluatorInfoList.get(0).getDimension() .hasEncoding(Encoding.DICTIONARY)) { scanRequired = isScanRequired(rawColumnChunk.getMaxValues()[columnIndex], this.filterRangeValues, dataType); } else { scanRequired = isScanRequired(rawColumnChunk.getMaxValues()[columnIndex], this.filterRangeValues, rawColumnChunk.getMinMaxFlagArray()[columnIndex]); } return scanRequired; }
if (DataTypeUtil.isPrimitiveColumn(noDicAndComplexColumns[i].getDataType())) { noDictKeys[i] = DataTypeUtil .getDataBasedOnDataTypeForNoDictionaryColumn(noDictionaryKeys[i],
.isPrimitiveColumn(dimColumnEvaluatorInfo.getDimension().getDataType()) && !dimColumnEvaluatorInfo.getDimension().hasEncoding(Encoding.DICTIONARY)) { isScanRequired = isScanRequired(blkMaxVal[chunkIndex], blkMinVal[chunkIndex], filterValues,
noDictSortColMapping = new boolean[noDictSortDataTypes.length]; for (int i = 0; i < noDictSortDataTypes.length; i++) { noDictSortColMapping[i] = DataTypeUtil.isPrimitiveColumn(noDictSortDataTypes[i]); noDictNoSortColMapping[i] = DataTypeUtil.isPrimitiveColumn(noDictNoSortDataTypes[i]);
CarbonDimension carbonDimension, boolean isMin) { DataType dataType = carbonDimension.getDataType(); if (DataTypeUtil.isPrimitiveColumn(dataType) && !carbonDimension .hasEncoding(Encoding.DICTIONARY)) { Object value =
for (int colIdx : sortColumnIndices) { if (isSortColumnNoDict[i]) { if (DataTypeUtil.isPrimitiveColumn(noDicDataTypes[noDicIdx])) {
if (DataTypeUtil.isPrimitiveColumn(noDicSortDataTypes[noDicTypeIdx])) {
private boolean isScanRequired(DimensionRawColumnChunk dimensionRawColumnChunk, int columnIndex) { boolean scanRequired; // for no dictionary measure column comparison can be done // on the original data as like measure column if (DataTypeUtil.isPrimitiveColumn(dimColumnEvaluatorInfo.getDimension().getDataType()) && !dimColumnEvaluatorInfo.getDimension().hasEncoding(Encoding.DICTIONARY)) { scanRequired = isScanRequired(dimensionRawColumnChunk.getMaxValues()[columnIndex], dimensionRawColumnChunk.getMinValues()[columnIndex], dimColumnExecuterInfo.getFilterKeys(), dimColumnEvaluatorInfo.getDimension().getDataType()); } else { scanRequired = isScanRequired(dimensionRawColumnChunk.getMaxValues()[columnIndex], dimensionRawColumnChunk.getMinValues()[columnIndex], dimColumnExecuterInfo.getFilterKeys(), dimensionRawColumnChunk.getMinMaxFlagArray()[columnIndex]); } return scanRequired; }
if (DataTypeUtil.isPrimitiveColumn(carbonColumn.getDataType())) { if (convertedValue == null) { convertedValue = DataConvertUtil.getNullValueForMeasure(carbonColumn.getDataType(),