/** * @param encoding * @return true if contains the passing encoding */ public boolean hasEncoding(Encoding encoding) { return columnSchema.hasEncoding(encoding); }
/** * the isUseInvertedIndex */ public boolean isUseInvertedIndex() { return this.hasEncoding(Encoding.INVERTED_INDEX); }
/** * @param useInvertedIndex the useInvertedIndex to set */ public void setUseInvertedIndex(boolean useInvertedIndex) { if (useInvertedIndex) { if (!hasEncoding(Encoding.INVERTED_INDEX)) { this.getEncodingList().add(Encoding.INVERTED_INDEX); } } else { if (hasEncoding(Encoding.INVERTED_INDEX)) { this.getEncodingList().remove(Encoding.INVERTED_INDEX); } } }
.getBytes(Charset.forName(CarbonCommonConstants.DEFAULT_CHARSET)); } else if (dataType == DataTypes.TIMESTAMP) { if (columnSchema.hasEncoding(Encoding.DIRECT_DICTIONARY)) { DirectDictionaryGenerator directDictionaryGenerator1 = DirectDictionaryKeyGeneratorFactory .getDirectDictionaryGenerator(columnSchema.getDataType());
.hasEncoding(Encoding.DICTIONARY)) { column.setLocalDictColumn(true); .hasEncoding(Encoding.DICTIONARY)) { if (!Arrays.asList(listOfDictionaryExcludeColumns).contains(column.getColumnName())) { column.setLocalDictColumn(true); !column.hasEncoding(Encoding.DICTIONARY) && localDictIncludeColumns.toLowerCase() .contains(column.getColumnName().toLowerCase())) {
/** * traverse through the columns of complex column specified in local dictionary include, * and set local dictionary for all the string and varchar child columns * @param allColumns * @param dimensionOrdinal * @param childColumnCount * @return */ private static int setLocalDictForComplexColumns(List<ColumnSchema> allColumns, int dimensionOrdinal, int childColumnCount) { for (int i = 0; i < childColumnCount; i++) { ColumnSchema column = allColumns.get(dimensionOrdinal); if (column.getNumberOfChild() > 0) { dimensionOrdinal++; setLocalDictForComplexColumns(allColumns, dimensionOrdinal, column.getNumberOfChild()); } else { if (column.isDimensionColumn() && (column.getDataType().equals(DataTypes.STRING) || column.getDataType().equals(DataTypes.VARCHAR)) && !column.hasEncoding(Encoding.DICTIONARY)) { column.setLocalDictColumn(true); } } dimensionOrdinal++; } return dimensionOrdinal; }