@Override @Nullable public Comparable getMinValue(String dimension) { ColumnHolder columnHolder = index.getColumnHolder(dimension); if (columnHolder != null && columnHolder.getCapabilities().hasBitmapIndexes()) { BitmapIndex bitmap = columnHolder.getBitmapIndex(); return bitmap.getCardinality() > 0 ? bitmap.getValue(0) : null; } return null; }
@Override @Nullable public Comparable getMaxValue(String dimension) { ColumnHolder columnHolder = index.getColumnHolder(dimension); if (columnHolder != null && columnHolder.getCapabilities().hasBitmapIndexes()) { BitmapIndex bitmap = columnHolder.getBitmapIndex(); return bitmap.getCardinality() > 0 ? bitmap.getValue(bitmap.getCardinality() - 1) : null; } return null; }
jg.writeStartObject(); for (int i = 0; i < bitmapIndex.getCardinality(); i++) { String val = NullHandling.nullToEmptyIfNeeded(bitmapIndex.getValue(i)); if (val != null) { final ImmutableBitmap bitmap = bitmapIndex.getBitmap(i);
String value = bitmapIndex.getValue(i); if (value != null) { size += StringUtils.estimatedBinaryLengthAsUTF8(value) * bitmapIndex.getBitmap(bitmapIndex.getIndex(value)).size(); min = NullHandling.nullToEmptyIfNeeded(bitmapIndex.getValue(0)); max = NullHandling.nullToEmptyIfNeeded(bitmapIndex.getValue(cardinality - 1));
String dimVal = extractionFn.apply(bitmapIndex.getValue(i)); if (!searchQuerySpec.accept(dimVal)) { continue;
@Override @Nullable public Comparable getMinValue(String dimension) { ColumnHolder columnHolder = index.getColumnHolder(dimension); if (columnHolder != null && columnHolder.getCapabilities().hasBitmapIndexes()) { BitmapIndex bitmap = columnHolder.getBitmapIndex(); return bitmap.getCardinality() > 0 ? bitmap.getValue(0) : null; } return null; }
@Override @Nullable public Comparable getMaxValue(String dimension) { ColumnHolder columnHolder = index.getColumnHolder(dimension); if (columnHolder != null && columnHolder.getCapabilities().hasBitmapIndexes()) { BitmapIndex bitmap = columnHolder.getBitmapIndex(); return bitmap.getCardinality() > 0 ? bitmap.getValue(bitmap.getCardinality() - 1) : null; } return null; }
jg.writeStartObject(); for (int i = 0; i < bitmapIndex.getCardinality(); i++) { String val = NullHandling.nullToEmptyIfNeeded(bitmapIndex.getValue(i)); if (val != null) { final ImmutableBitmap bitmap = bitmapIndex.getBitmap(i);
String value = bitmapIndex.getValue(i); if (value != null) { size += StringUtils.estimatedBinaryLengthAsUTF8(value) * bitmapIndex.getBitmap(bitmapIndex.getIndex(value)).size(); min = NullHandling.nullToEmptyIfNeeded(bitmapIndex.getValue(0)); max = NullHandling.nullToEmptyIfNeeded(bitmapIndex.getValue(cardinality - 1));
String dimVal = extractionFn.apply(bitmapIndex.getValue(i)); if (!searchQuerySpec.accept(dimVal)) { continue;