public boolean isNumeric() { return isNumeric(this); }
public static StringComparator getStringComparatorForValueType(ValueType valueType) { if (ValueType.isNumeric(valueType)) { return StringComparators.NUMERIC; } else if (ValueType.STRING == valueType) { return StringComparators.LEXICOGRAPHIC; } else { throw new ISE("Unrecognized valueType[%s]", valueType); } }
final Object rhsObj = rhs.getRaw(fieldName); if (ValueType.isNumeric(dimensionType)) { if (comparator.equals(StringComparators.NUMERIC)) { dimCompare = DimensionHandlerUtils.compareObjectsAsType(lhsObj, rhsObj, dimensionType);
aggFlags.add(false); final ValueType type = dimensions.get(dimIndex).getOutputType(); isNumericField.add(ValueType.isNumeric(type)); comparators.add(orderSpec.getDimensionComparator()); } else { aggFlags.add(true); final String typeName = aggregatorFactories[aggIndex].getTypeName(); isNumericField.add(ValueType.isNumeric(ValueType.fromString(typeName))); comparators.add(orderSpec.getDimensionComparator()); needsReverses.add(false); final ValueType type = dimensions.get(i).getOutputType(); isNumericField.add(ValueType.isNumeric(type)); comparators.add(StringComparators.LEXICOGRAPHIC);
if (ValueType.isNumeric(capabilities.getType())) { if (dimSpec.mustDecorate()) { capabilities = DEFAULT_STRING_CAPABILITIES;
if (!ValueType.isNumeric(valueType)) { throw new IAE("Cannot order by a non-numeric aggregator[%s]", orderSpec);
if (columnType == ValueType.STRING) { naturalComparator = StringComparators.LEXICOGRAPHIC; } else if (ValueType.isNumeric(columnType)) { naturalComparator = StringComparators.NUMERIC; } else {
if (ValueType.isNumeric(dimensionType)) {
@Override public Aggregator factorize(final ColumnSelectorFactory metricFactory) { if (metricFactory.getColumnCapabilities(fieldName) != null && ValueType.isNumeric(metricFactory.getColumnCapabilities(fieldName).getType())) { final ColumnValueSelector<Double> selector = metricFactory.makeColumnValueSelector(fieldName); if (selector instanceof NilColumnValueSelector) { return new DoublesSketchNoOpAggregator(); } return new DoublesSketchBuildAggregator(selector, k); } final ColumnValueSelector<DoublesSketch> selector = metricFactory.makeColumnValueSelector(fieldName); if (selector instanceof NilColumnValueSelector) { return new DoublesSketchNoOpAggregator(); } return new DoublesSketchMergeAggregator(selector, k); }
if (type.isNumeric()) { return type.makeNumericWrappingDimensionSelector(makeColumnValueSelector(dimension), extractionFn);
@Override public BufferAggregator factorizeBuffered(final ColumnSelectorFactory metricFactory) { if (metricFactory.getColumnCapabilities(fieldName) != null && ValueType.isNumeric(metricFactory.getColumnCapabilities(fieldName).getType())) { final ColumnValueSelector<Double> selector = metricFactory.makeColumnValueSelector(fieldName); if (selector instanceof NilColumnValueSelector) { return new DoublesSketchNoOpBufferAggregator(); } return new DoublesSketchBuildBufferAggregator(selector, k, getMaxIntermediateSizeWithNulls()); } final ColumnValueSelector<DoublesSketch> selector = metricFactory.makeColumnValueSelector(fieldName); if (selector instanceof NilColumnValueSelector) { return new DoublesSketchNoOpBufferAggregator(); } return new DoublesSketchMergeBufferAggregator(selector, k, getMaxIntermediateSizeWithNulls()); }
private DimensionSelector makeDimensionSelectorUndecorated(DimensionSpec dimensionSpec) { final String dimension = dimensionSpec.getDimension(); final ExtractionFn extractionFn = dimensionSpec.getExtractionFn(); if (dimension.equals(ColumnHolder.TIME_COLUMN_NAME)) { return new SingleScanTimeDimensionSelector(makeColumnValueSelector(dimension), extractionFn, descending); } final IncrementalIndex.DimensionDesc dimensionDesc = index.getDimension(dimensionSpec.getDimension()); if (dimensionDesc == null) { // not a dimension, column may be a metric ColumnCapabilities capabilities = getColumnCapabilities(dimension); if (capabilities == null) { return DimensionSelector.constant(null, extractionFn); } if (capabilities.getType().isNumeric()) { return capabilities.getType().makeNumericWrappingDimensionSelector( makeColumnValueSelector(dimension), extractionFn ); } // if we can't wrap the base column, just return a column of all nulls return DimensionSelector.constant(null, extractionFn); } else { final DimensionIndexer indexer = dimensionDesc.getIndexer(); return indexer.makeDimensionSelector(dimensionSpec, rowHolder, dimensionDesc); } }
public boolean isNumeric() { return isNumeric(this); }
public static StringComparator getStringComparatorForValueType(ValueType valueType) { if (ValueType.isNumeric(valueType)) { return StringComparators.NUMERIC; } else if (ValueType.STRING == valueType) { return StringComparators.LEXICOGRAPHIC; } else { throw new ISE("Unrecognized valueType[%s]", valueType); } }
if (ValueType.isNumeric(capabilities.getType())) { if (dimSpec.mustDecorate()) { capabilities = DEFAULT_STRING_CAPABILITIES;
if (ValueType.isNumeric(dimensionType)) {
@Override public Aggregator factorize(final ColumnSelectorFactory metricFactory) { if (metricFactory.getColumnCapabilities(fieldName) != null && ValueType.isNumeric(metricFactory.getColumnCapabilities(fieldName).getType())) { final ColumnValueSelector<Double> selector = metricFactory.makeColumnValueSelector(fieldName); if (selector instanceof NilColumnValueSelector) { return new DoublesSketchNoOpAggregator(); } return new DoublesSketchBuildAggregator(selector, k); } final ColumnValueSelector<DoublesSketch> selector = metricFactory.makeColumnValueSelector(fieldName); if (selector instanceof NilColumnValueSelector) { return new DoublesSketchNoOpAggregator(); } return new DoublesSketchMergeAggregator(selector, k); }
if (type.isNumeric()) { return type.makeNumericWrappingDimensionSelector(makeColumnValueSelector(dimension), extractionFn);
@Override public BufferAggregator factorizeBuffered(final ColumnSelectorFactory metricFactory) { if (metricFactory.getColumnCapabilities(fieldName) != null && ValueType.isNumeric(metricFactory.getColumnCapabilities(fieldName).getType())) { final ColumnValueSelector<Double> selector = metricFactory.makeColumnValueSelector(fieldName); if (selector instanceof NilColumnValueSelector) { return new DoublesSketchNoOpBufferAggregator(); } return new DoublesSketchBuildBufferAggregator(selector, k, getMaxIntermediateSizeWithNulls()); } final ColumnValueSelector<DoublesSketch> selector = metricFactory.makeColumnValueSelector(fieldName); if (selector instanceof NilColumnValueSelector) { return new DoublesSketchNoOpBufferAggregator(); } return new DoublesSketchMergeBufferAggregator(selector, k, getMaxIntermediateSizeWithNulls()); }
private DimensionSelector makeDimensionSelectorUndecorated(DimensionSpec dimensionSpec) { final String dimension = dimensionSpec.getDimension(); final ExtractionFn extractionFn = dimensionSpec.getExtractionFn(); if (dimension.equals(ColumnHolder.TIME_COLUMN_NAME)) { return new SingleScanTimeDimensionSelector(makeColumnValueSelector(dimension), extractionFn, descending); } final IncrementalIndex.DimensionDesc dimensionDesc = index.getDimension(dimensionSpec.getDimension()); if (dimensionDesc == null) { // not a dimension, column may be a metric ColumnCapabilities capabilities = getColumnCapabilities(dimension); if (capabilities == null) { return DimensionSelectorUtils.constantSelector(null, extractionFn); } if (capabilities.getType().isNumeric()) { return capabilities.getType().makeNumericWrappingDimensionSelector( makeColumnValueSelector(dimension), extractionFn ); } // if we can't wrap the base column, just return a column of all nulls return DimensionSelectorUtils.constantSelector(null, extractionFn); } else { final DimensionIndexer indexer = dimensionDesc.getIndexer(); return indexer.makeDimensionSelector(dimensionSpec, rowHolder, dimensionDesc); } }