@JsonIgnore @Nonnull public Set<String> getPhysicalColumnNames() { Set<String> cols = new HashSet<>(); cols.addAll(_fieldSpecMap.keySet()); for (String col : _fieldSpecMap.keySet()) { // exclude virtual columns if (isVirtualColumn(col)) { cols.remove(col); } } return cols; }
@Override public Set<String> getPhysicalColumnNames() { HashSet<String> physicalColumnNames = new HashSet<>(); for (String columnName : getColumnNames()) { if (!_segmentMetadata.getSchema().isVirtualColumn(columnName)) { physicalColumnNames.add(columnName); } } return physicalColumnNames; }
@Override public Set<String> getPhysicalColumnNames() { HashSet<String> physicalColumnNames = new HashSet<>(); for (String columnName : getColumnNames()) { if (!_segmentMetadata.getSchema().isVirtualColumn(columnName)) { physicalColumnNames.add(columnName); } } return physicalColumnNames; }
@Override public ColumnDataSource getDataSource(String columnName) { if (!_schema.isVirtualColumn(columnName)) { return new ColumnDataSource(_schema.getFieldSpecFor(columnName), _numDocsIndexed, _maxNumValuesMap.get(columnName), _indexReaderWriterMap.get(columnName), _invertedIndexMap.get(columnName), _dictionaryMap.get(columnName), _bloomFilterMap.get(columnName)); } else { return getVirtualDataSource(columnName); } }
/** * Returns a comma separated list of qualifying field name strings * @param type FieldType to filter on * @return Comma separate qualifying fields names. */ @JsonIgnore private String getQualifyingFields(FieldType type, boolean excludeVirtualColumns) { List<String> fields = new ArrayList<>(); for (final FieldSpec spec : getSchema().getAllFieldSpecs()) { if (excludeVirtualColumns && getSchema().isVirtualColumn(spec.getName())) { continue; } if (spec.getFieldType() == type) { fields.add(spec.getName()); } } Collections.sort(fields); return StringUtils.join(fields, ","); } }
if (!fieldSpec.isSingleValueField() || schema.isVirtualColumn(fieldSpec.getName())) { continue;
if (schema.isVirtualColumn(columnName)) { continue;
if (schema.isVirtualColumn(columnName)) { FieldSpec fieldSpec = schema.getFieldSpecFor(columnName); VirtualColumnProvider provider =
/** * Complete the stats gathering process and store the stats information in indexCreationInfoMap. */ void buildIndexCreationInfo() throws Exception { for (FieldSpec spec : dataSchema.getAllFieldSpecs()) { String column = spec.getName(); // Skip adding virtual columns, so that they don't get an on-disk representation if (dataSchema.isVirtualColumn(column)) { continue; } ColumnStatistics columnProfile = segmentStats.getColumnProfileFor(column); indexCreationInfoMap.put(column, new ColumnIndexCreationInfo(columnProfile, true/*createDictionary*/, ForwardIndexType.FIXED_BIT_COMPRESSED, InvertedIndexType.ROARING_BITMAPS, false/*isAutoGenerated*/, dataSchema.getFieldSpecFor(column).getDefaultNullValue())); } segmentIndexCreationInfo.setTotalDocs(totalDocs); segmentIndexCreationInfo.setTotalRawDocs(totalRawDocs); segmentIndexCreationInfo.setTotalAggDocs(totalAggDocs); segmentIndexCreationInfo.setStarTreeEnabled(createStarTree); }