@Override public ColumnCapabilities capabilities(String columnName) { final ValueType valueType = columnName.indexOf('.') < 0 ? ValueType.COMPLEX : ValueType.STRING; return new ColumnCapabilitiesImpl().setType(valueType); }
@Override public ColumnCapabilities capabilities(String columnName) { return new ColumnCapabilitiesImpl().setType(outputType); }
@Nullable @Override public ColumnCapabilities getColumnCapabilities(String columnName) { if (ColumnHolder.TIME_COLUMN_NAME.equals(columnName)) { // TIME_COLUMN_NAME is handled specially; override the provided rowSignature. return new ColumnCapabilitiesImpl().setType(ValueType.LONG); } else { final ValueType valueType = rowSignature.get(columnName); // Do _not_ set isDictionaryEncoded or hasBitmapIndexes, because Row-based columns do not have those things. return valueType != null ? new ColumnCapabilitiesImpl().setType(valueType) : null; } } }
public MetricDesc(int index, AggregatorFactory factory) { this.index = index; this.name = factory.getName(); String typeInfo = factory.getTypeName(); this.capabilities = new ColumnCapabilitiesImpl(); if ("float".equalsIgnoreCase(typeInfo)) { capabilities.setType(ValueType.FLOAT); this.type = typeInfo; } else if ("long".equalsIgnoreCase(typeInfo)) { capabilities.setType(ValueType.LONG); this.type = typeInfo; } else if ("double".equalsIgnoreCase(typeInfo)) { capabilities.setType(ValueType.DOUBLE); this.type = typeInfo; } else { capabilities.setType(ValueType.COMPLEX); this.type = ComplexMetrics.getSerdeForType(typeInfo).getTypeName(); } }
@Override public ColumnCapabilities capabilities(String columnName) { return new ColumnCapabilitiesImpl().setType(ValueType.LONG); }
private ColumnCapabilitiesImpl makeCapabilitiesFromValueType(ValueType type) { ColumnCapabilitiesImpl capabilities = new ColumnCapabilitiesImpl(); capabilities.setDictionaryEncoded(type == ValueType.STRING); capabilities.setHasBitmapIndexes(type == ValueType.STRING); capabilities.setType(type); return capabilities; }
public ColumnHolder build() { Preconditions.checkState(type != null, "Type must be set."); return new SimpleColumnHolder( new ColumnCapabilitiesImpl() .setType(type) .setDictionaryEncoded(dictionaryEncoded) .setHasBitmapIndexes(bitmapIndex != null) .setHasSpatialIndexes(spatialIndex != null) .setHasMultipleValues(hasMultipleValues) .setFilterable(filterable), columnSupplier, bitmapIndex, spatialIndex ); } }
@Override public ColumnCapabilities getColumnCapabilities(String columnName) { ColumnCapabilitiesImpl caps; if ("value".equals(columnName)) { caps = new ColumnCapabilitiesImpl(); caps.setType(ValueType.FLOAT); caps.setDictionaryEncoded(false); caps.setHasBitmapIndexes(false); } else { caps = new ColumnCapabilitiesImpl(); caps.setType(ValueType.STRING); caps.setDictionaryEncoded(true); caps.setHasBitmapIndexes(true); } return caps; } };
capabilities = new ColumnCapabilitiesImpl(); capabilities.setType(ValueType.STRING); capabilities.setDictionaryEncoded(true); capabilities.setHasBitmapIndexes(true);
timeCapabilities.setType(ValueType.LONG); columnCapabilities.put(ColumnHolder.TIME_COLUMN_NAME, timeCapabilities);
timeCapabilities = new ColumnCapabilitiesImpl().setType(ValueType.LONG).setHasMultipleValues(false);
TestColumn(ValueType type) { columnCapabilities = new ColumnCapabilitiesImpl() .setType(type) .setDictionaryEncoded(type == ValueType.STRING) // set a fake value to make string columns .setHasBitmapIndexes(type == ValueType.STRING) .setHasSpatialIndexes(false) .setHasMultipleValues(false); }
@Test public void testSerde() throws Exception { String json = mapper.writeValueAsString(new ColumnCapabilitiesImpl() .setDictionaryEncoded(true) .setHasBitmapIndexes(true) .setHasMultipleValues(true) .setHasSpatialIndexes(true) .setType(ValueType.COMPLEX) .setFilterable(true)); Assert.assertFalse(json.contains("filterable")); ColumnCapabilities cc = mapper.readValue(json, ColumnCapabilitiesImpl.class); Assert.assertEquals(ValueType.COMPLEX, cc.getType()); Assert.assertTrue(cc.isDictionaryEncoded()); Assert.assertFalse(cc.isRunLengthEncoded()); Assert.assertTrue(cc.hasSpatialIndexes()); Assert.assertTrue(cc.hasMultipleValues()); Assert.assertTrue(cc.hasBitmapIndexes()); Assert.assertFalse(cc.isFilterable()); }
@Override public ColumnCapabilities capabilities(String columnName) { return new ColumnCapabilitiesImpl().setType(outputType); }
@Nullable @Override public ColumnCapabilities getColumnCapabilities(String columnName) { if (ColumnHolder.TIME_COLUMN_NAME.equals(columnName)) { // TIME_COLUMN_NAME is handled specially; override the provided rowSignature. return new ColumnCapabilitiesImpl().setType(ValueType.LONG); } else { final ValueType valueType = rowSignature.get(columnName); // Do _not_ set isDictionaryEncoded or hasBitmapIndexes, because Row-based columns do not have those things. return valueType != null ? new ColumnCapabilitiesImpl().setType(valueType) : null; } } }
public MetricDesc(int index, AggregatorFactory factory) { this.index = index; this.name = factory.getName(); String typeInfo = factory.getTypeName(); this.capabilities = new ColumnCapabilitiesImpl(); if ("float".equalsIgnoreCase(typeInfo)) { capabilities.setType(ValueType.FLOAT); this.type = typeInfo; } else if ("long".equalsIgnoreCase(typeInfo)) { capabilities.setType(ValueType.LONG); this.type = typeInfo; } else if ("double".equalsIgnoreCase(typeInfo)) { capabilities.setType(ValueType.DOUBLE); this.type = typeInfo; } else { capabilities.setType(ValueType.COMPLEX); this.type = ComplexMetrics.getSerdeForType(typeInfo).getTypeName(); } }
private ColumnCapabilitiesImpl makeCapabilitiesFromValueType(ValueType type) { ColumnCapabilitiesImpl capabilities = new ColumnCapabilitiesImpl(); capabilities.setDictionaryEncoded(type == ValueType.STRING); capabilities.setHasBitmapIndexes(type == ValueType.STRING); capabilities.setType(type); return capabilities; }
public ColumnHolder build() { Preconditions.checkState(type != null, "Type must be set."); return new SimpleColumnHolder( new ColumnCapabilitiesImpl() .setType(type) .setDictionaryEncoded(dictionaryEncoded) .setHasBitmapIndexes(bitmapIndex != null) .setHasSpatialIndexes(spatialIndex != null) .setHasMultipleValues(hasMultipleValues) .setFilterable(filterable), columnSupplier, bitmapIndex, spatialIndex ); } }
capabilities = new ColumnCapabilitiesImpl(); capabilities.setType(ValueType.STRING); capabilities.setDictionaryEncoded(true); capabilities.setHasBitmapIndexes(true);
timeCapabilities = new ColumnCapabilitiesImpl().setType(ValueType.LONG).setHasMultipleValues(false);