diff --git a/benchmarks/src/main/java/io/druid/benchmark/ExpressionBenchmark.java b/benchmarks/src/main/java/io/druid/benchmark/ExpressionBenchmark.java index 25409049d7f..a8ce3d2837b 100644 --- a/benchmarks/src/main/java/io/druid/benchmark/ExpressionBenchmark.java +++ b/benchmarks/src/main/java/io/druid/benchmark/ExpressionBenchmark.java @@ -215,8 +215,8 @@ public class ExpressionBenchmark @Override public void aggregate(final ByteBuffer buf, final int position) { - final float x = xSelector.get(); - final double n = x > 0 ? x + 1 : ySelector.get() + 1; + final float x = xSelector.getFloat(); + final double n = x > 0 ? x + 1 : ySelector.getFloat() + 1; buf.putDouble(0, buf.getDouble(position) + n); } diff --git a/benchmarks/src/main/java/io/druid/benchmark/FilterPartitionBenchmark.java b/benchmarks/src/main/java/io/druid/benchmark/FilterPartitionBenchmark.java index 392dd061d44..cf547d4c833 100644 --- a/benchmarks/src/main/java/io/druid/benchmark/FilterPartitionBenchmark.java +++ b/benchmarks/src/main/java/io/druid/benchmark/FilterPartitionBenchmark.java @@ -542,7 +542,7 @@ public class FilterPartitionBenchmark List longvals = new ArrayList(); LongColumnSelector selector = input.makeLongColumnSelector("sumLongSequential"); while (!input.isDone()) { - long rowval = selector.get(); + long rowval = selector.getLong(); blackhole.consume(rowval); input.advance(); } diff --git a/extensions-core/histogram/src/main/java/io/druid/query/aggregation/histogram/ApproximateHistogramAggregator.java b/extensions-core/histogram/src/main/java/io/druid/query/aggregation/histogram/ApproximateHistogramAggregator.java index 767e5b5f004..3601aa5da8a 100644 --- a/extensions-core/histogram/src/main/java/io/druid/query/aggregation/histogram/ApproximateHistogramAggregator.java +++ b/extensions-core/histogram/src/main/java/io/druid/query/aggregation/histogram/ApproximateHistogramAggregator.java @@ -65,7 +65,7 @@ public class ApproximateHistogramAggregator implements Aggregator @Override public void aggregate() { - histogram.offer(selector.get()); + histogram.offer(selector.getFloat()); } @Override diff --git a/extensions-core/histogram/src/main/java/io/druid/query/aggregation/histogram/ApproximateHistogramBufferAggregator.java b/extensions-core/histogram/src/main/java/io/druid/query/aggregation/histogram/ApproximateHistogramBufferAggregator.java index e1dacc4bba0..d3639415341 100644 --- a/extensions-core/histogram/src/main/java/io/druid/query/aggregation/histogram/ApproximateHistogramBufferAggregator.java +++ b/extensions-core/histogram/src/main/java/io/druid/query/aggregation/histogram/ApproximateHistogramBufferAggregator.java @@ -68,7 +68,7 @@ public class ApproximateHistogramBufferAggregator implements BufferAggregator mutationBuffer.position(position); ApproximateHistogram h0 = ApproximateHistogram.fromBytesDense(mutationBuffer); - h0.offer(selector.get()); + h0.offer(selector.getFloat()); mutationBuffer.position(position); h0.toBytesDense(mutationBuffer); diff --git a/extensions-core/stats/src/main/java/io/druid/query/aggregation/variance/VarianceAggregator.java b/extensions-core/stats/src/main/java/io/druid/query/aggregation/variance/VarianceAggregator.java index 9c45cd39ef1..5803b765f7d 100644 --- a/extensions-core/stats/src/main/java/io/druid/query/aggregation/variance/VarianceAggregator.java +++ b/extensions-core/stats/src/main/java/io/druid/query/aggregation/variance/VarianceAggregator.java @@ -82,7 +82,7 @@ public abstract class VarianceAggregator implements Aggregator @Override public void aggregate() { - holder.add(selector.get()); + holder.add(selector.getFloat()); } } @@ -99,7 +99,7 @@ public abstract class VarianceAggregator implements Aggregator @Override public void aggregate() { - holder.add(selector.get()); + holder.add(selector.getLong()); } } diff --git a/extensions-core/stats/src/main/java/io/druid/query/aggregation/variance/VarianceBufferAggregator.java b/extensions-core/stats/src/main/java/io/druid/query/aggregation/variance/VarianceBufferAggregator.java index bcc44f71e88..db3dea400a8 100644 --- a/extensions-core/stats/src/main/java/io/druid/query/aggregation/variance/VarianceBufferAggregator.java +++ b/extensions-core/stats/src/main/java/io/druid/query/aggregation/variance/VarianceBufferAggregator.java @@ -98,7 +98,7 @@ public abstract class VarianceBufferAggregator implements BufferAggregator @Override public void aggregate(ByteBuffer buf, int position) { - float v = selector.get(); + float v = selector.getFloat(); long count = buf.getLong(position + COUNT_OFFSET) + 1; double sum = buf.getDouble(position + SUM_OFFSET) + v; buf.putLong(position, count); @@ -130,7 +130,7 @@ public abstract class VarianceBufferAggregator implements BufferAggregator @Override public void aggregate(ByteBuffer buf, int position) { - long v = selector.get(); + long v = selector.getLong(); long count = buf.getLong(position + COUNT_OFFSET) + 1; double sum = buf.getDouble(position + SUM_OFFSET) + v; buf.putLong(position, count); diff --git a/extensions-core/stats/src/test/java/io/druid/query/aggregation/variance/VarianceAggregatorCollectorTest.java b/extensions-core/stats/src/test/java/io/druid/query/aggregation/variance/VarianceAggregatorCollectorTest.java index 3204b041cb4..0c4aaaa36de 100644 --- a/extensions-core/stats/src/test/java/io/druid/query/aggregation/variance/VarianceAggregatorCollectorTest.java +++ b/extensions-core/stats/src/test/java/io/druid/query/aggregation/variance/VarianceAggregatorCollectorTest.java @@ -146,7 +146,7 @@ public class VarianceAggregatorCollectorTest float v; @Override - public float get() + public float getFloat() { return v; } diff --git a/processing/src/main/java/io/druid/query/aggregation/DoubleMaxAggregator.java b/processing/src/main/java/io/druid/query/aggregation/DoubleMaxAggregator.java index 79042cb8592..6b4f384d51c 100644 --- a/processing/src/main/java/io/druid/query/aggregation/DoubleMaxAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/DoubleMaxAggregator.java @@ -48,7 +48,7 @@ public class DoubleMaxAggregator implements Aggregator @Override public void aggregate() { - max = Math.max(max, selector.get()); + max = Math.max(max, selector.getDouble()); } @Override diff --git a/processing/src/main/java/io/druid/query/aggregation/DoubleMinAggregator.java b/processing/src/main/java/io/druid/query/aggregation/DoubleMinAggregator.java index 63d61fc4430..33e0477cf29 100644 --- a/processing/src/main/java/io/druid/query/aggregation/DoubleMinAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/DoubleMinAggregator.java @@ -48,7 +48,7 @@ public class DoubleMinAggregator implements Aggregator @Override public void aggregate() { - min = Math.min(min, (double) selector.get()); + min = Math.min(min, selector.getDouble()); } @Override diff --git a/processing/src/main/java/io/druid/query/aggregation/DoubleSumAggregator.java b/processing/src/main/java/io/druid/query/aggregation/DoubleSumAggregator.java index c8a1b64922b..315becade11 100644 --- a/processing/src/main/java/io/druid/query/aggregation/DoubleSumAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/DoubleSumAggregator.java @@ -57,7 +57,7 @@ public class DoubleSumAggregator implements Aggregator @Override public void aggregate() { - sum += selector.get(); + sum += selector.getDouble(); } @Override diff --git a/processing/src/main/java/io/druid/query/aggregation/FloatMaxAggregator.java b/processing/src/main/java/io/druid/query/aggregation/FloatMaxAggregator.java index 10f1e38cf8e..0efbecdb1fd 100644 --- a/processing/src/main/java/io/druid/query/aggregation/FloatMaxAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/FloatMaxAggregator.java @@ -48,7 +48,7 @@ public class FloatMaxAggregator implements Aggregator @Override public void aggregate() { - max = Math.max(max, selector.get()); + max = Math.max(max, selector.getFloat()); } @Override diff --git a/processing/src/main/java/io/druid/query/aggregation/FloatMinAggregator.java b/processing/src/main/java/io/druid/query/aggregation/FloatMinAggregator.java index bccaf260280..67cd93f9e9a 100644 --- a/processing/src/main/java/io/druid/query/aggregation/FloatMinAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/FloatMinAggregator.java @@ -48,7 +48,7 @@ public class FloatMinAggregator implements Aggregator @Override public void aggregate() { - min = Math.min(min, selector.get()); + min = Math.min(min, selector.getFloat()); } @Override diff --git a/processing/src/main/java/io/druid/query/aggregation/FloatSumAggregator.java b/processing/src/main/java/io/druid/query/aggregation/FloatSumAggregator.java index 4bbefae67ba..d8b86605162 100644 --- a/processing/src/main/java/io/druid/query/aggregation/FloatSumAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/FloatSumAggregator.java @@ -56,7 +56,7 @@ public class FloatSumAggregator implements Aggregator @Override public void aggregate() { - sum += selector.get(); + sum += selector.getFloat(); } @Override diff --git a/processing/src/main/java/io/druid/query/aggregation/HistogramAggregator.java b/processing/src/main/java/io/druid/query/aggregation/HistogramAggregator.java index 036b2bc7b5e..665bf8c9d87 100644 --- a/processing/src/main/java/io/druid/query/aggregation/HistogramAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/HistogramAggregator.java @@ -53,7 +53,7 @@ public class HistogramAggregator implements Aggregator @Override public void aggregate() { - histogram.offer(selector.get()); + histogram.offer(selector.getFloat()); } @Override diff --git a/processing/src/main/java/io/druid/query/aggregation/HistogramBufferAggregator.java b/processing/src/main/java/io/druid/query/aggregation/HistogramBufferAggregator.java index 6d99990a56b..9ea948f31ea 100644 --- a/processing/src/main/java/io/druid/query/aggregation/HistogramBufferAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/HistogramBufferAggregator.java @@ -57,7 +57,7 @@ public class HistogramBufferAggregator implements BufferAggregator @Override public void aggregate(ByteBuffer buf, int position) { - final float value = selector.get(); + final float value = selector.getFloat(); final int minPos = position + minOffset; final int maxPos = position + maxOffset; diff --git a/processing/src/main/java/io/druid/query/aggregation/LongMaxAggregator.java b/processing/src/main/java/io/druid/query/aggregation/LongMaxAggregator.java index 1a67f5211f4..b8bf861cf0f 100644 --- a/processing/src/main/java/io/druid/query/aggregation/LongMaxAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/LongMaxAggregator.java @@ -48,7 +48,7 @@ public class LongMaxAggregator implements Aggregator @Override public void aggregate() { - max = Math.max(max, selector.get()); + max = Math.max(max, selector.getLong()); } @Override diff --git a/processing/src/main/java/io/druid/query/aggregation/LongMaxBufferAggregator.java b/processing/src/main/java/io/druid/query/aggregation/LongMaxBufferAggregator.java index d918ea76fd4..429051d2552 100644 --- a/processing/src/main/java/io/druid/query/aggregation/LongMaxBufferAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/LongMaxBufferAggregator.java @@ -42,6 +42,6 @@ public class LongMaxBufferAggregator extends LongBufferAggregator @Override public void aggregate(ByteBuffer buf, int position) { - buf.putLong(position, Math.max(buf.getLong(position), selector.get())); + buf.putLong(position, Math.max(buf.getLong(position), selector.getLong())); } } diff --git a/processing/src/main/java/io/druid/query/aggregation/LongMinAggregator.java b/processing/src/main/java/io/druid/query/aggregation/LongMinAggregator.java index 39a541fdbb1..1c8f45d3ac8 100644 --- a/processing/src/main/java/io/druid/query/aggregation/LongMinAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/LongMinAggregator.java @@ -48,7 +48,7 @@ public class LongMinAggregator implements Aggregator @Override public void aggregate() { - min = Math.min(min, selector.get()); + min = Math.min(min, selector.getLong()); } @Override diff --git a/processing/src/main/java/io/druid/query/aggregation/LongMinBufferAggregator.java b/processing/src/main/java/io/druid/query/aggregation/LongMinBufferAggregator.java index 3b0e206e984..ebbae496ccb 100644 --- a/processing/src/main/java/io/druid/query/aggregation/LongMinBufferAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/LongMinBufferAggregator.java @@ -42,6 +42,6 @@ public class LongMinBufferAggregator extends LongBufferAggregator @Override public void aggregate(ByteBuffer buf, int position) { - buf.putLong(position, Math.min(buf.getLong(position), selector.get())); + buf.putLong(position, Math.min(buf.getLong(position), selector.getLong())); } } diff --git a/processing/src/main/java/io/druid/query/aggregation/LongSumAggregator.java b/processing/src/main/java/io/druid/query/aggregation/LongSumAggregator.java index 27f48a1078f..0a6154b20d7 100644 --- a/processing/src/main/java/io/druid/query/aggregation/LongSumAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/LongSumAggregator.java @@ -56,7 +56,7 @@ public class LongSumAggregator implements Aggregator @Override public void aggregate() { - sum += selector.get(); + sum += selector.getLong(); } @Override diff --git a/processing/src/main/java/io/druid/query/aggregation/LongSumBufferAggregator.java b/processing/src/main/java/io/druid/query/aggregation/LongSumBufferAggregator.java index ad029471136..9ae1d8e1096 100644 --- a/processing/src/main/java/io/druid/query/aggregation/LongSumBufferAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/LongSumBufferAggregator.java @@ -42,6 +42,6 @@ public class LongSumBufferAggregator extends LongBufferAggregator @Override public void aggregate(ByteBuffer buf, int position) { - buf.putLong(position, buf.getLong(position) + selector.get()); + buf.putLong(position, buf.getLong(position) + selector.getLong()); } } diff --git a/processing/src/main/java/io/druid/query/aggregation/SimpleDoubleBufferAggregator.java b/processing/src/main/java/io/druid/query/aggregation/SimpleDoubleBufferAggregator.java index e44484728eb..ef80cae43e7 100644 --- a/processing/src/main/java/io/druid/query/aggregation/SimpleDoubleBufferAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/SimpleDoubleBufferAggregator.java @@ -53,7 +53,7 @@ public abstract class SimpleDoubleBufferAggregator implements BufferAggregator @Override public final void aggregate(ByteBuffer buf, int position) { - aggregate(buf, position, selector.get()); + aggregate(buf, position, selector.getDouble()); } @Override diff --git a/processing/src/main/java/io/druid/query/aggregation/SimpleFloatBufferAggregator.java b/processing/src/main/java/io/druid/query/aggregation/SimpleFloatBufferAggregator.java index 1ff568f370c..adf77103f37 100644 --- a/processing/src/main/java/io/druid/query/aggregation/SimpleFloatBufferAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/SimpleFloatBufferAggregator.java @@ -53,7 +53,7 @@ public abstract class SimpleFloatBufferAggregator implements BufferAggregator @Override public final void aggregate(ByteBuffer buf, int position) { - aggregate(buf, position, selector.get()); + aggregate(buf, position, selector.getFloat()); } @Override diff --git a/processing/src/main/java/io/druid/query/aggregation/cardinality/types/DoubleCardinalityAggregatorColumnSelectorStrategy.java b/processing/src/main/java/io/druid/query/aggregation/cardinality/types/DoubleCardinalityAggregatorColumnSelectorStrategy.java index 79a3806f873..d3a98c1ff4f 100644 --- a/processing/src/main/java/io/druid/query/aggregation/cardinality/types/DoubleCardinalityAggregatorColumnSelectorStrategy.java +++ b/processing/src/main/java/io/druid/query/aggregation/cardinality/types/DoubleCardinalityAggregatorColumnSelectorStrategy.java @@ -30,12 +30,12 @@ public class DoubleCardinalityAggregatorColumnSelectorStrategy implements Cardin @Override public void hashRow(DoubleColumnSelector dimSelector, Hasher hasher) { - hasher.putDouble(dimSelector.get()); + hasher.putDouble(dimSelector.getDouble()); } @Override public void hashValues(DoubleColumnSelector dimSelector, HyperLogLogCollector collector) { - collector.add(CardinalityAggregator.hashFn.hashLong(Double.doubleToLongBits(dimSelector.get())).asBytes()); + collector.add(CardinalityAggregator.hashFn.hashLong(Double.doubleToLongBits(dimSelector.getDouble())).asBytes()); } } diff --git a/processing/src/main/java/io/druid/query/aggregation/cardinality/types/FloatCardinalityAggregatorColumnSelectorStrategy.java b/processing/src/main/java/io/druid/query/aggregation/cardinality/types/FloatCardinalityAggregatorColumnSelectorStrategy.java index f80caf02b00..76d0f44d2fc 100644 --- a/processing/src/main/java/io/druid/query/aggregation/cardinality/types/FloatCardinalityAggregatorColumnSelectorStrategy.java +++ b/processing/src/main/java/io/druid/query/aggregation/cardinality/types/FloatCardinalityAggregatorColumnSelectorStrategy.java @@ -30,12 +30,12 @@ public class FloatCardinalityAggregatorColumnSelectorStrategy @Override public void hashRow(FloatColumnSelector dimSelector, Hasher hasher) { - hasher.putFloat(dimSelector.get()); + hasher.putFloat(dimSelector.getFloat()); } @Override public void hashValues(FloatColumnSelector dimSelector, HyperLogLogCollector collector) { - collector.add(CardinalityAggregator.hashFn.hashInt(Float.floatToIntBits(dimSelector.get())).asBytes()); + collector.add(CardinalityAggregator.hashFn.hashInt(Float.floatToIntBits(dimSelector.getFloat())).asBytes()); } } diff --git a/processing/src/main/java/io/druid/query/aggregation/cardinality/types/LongCardinalityAggregatorColumnSelectorStrategy.java b/processing/src/main/java/io/druid/query/aggregation/cardinality/types/LongCardinalityAggregatorColumnSelectorStrategy.java index 174341f4933..e3d1dd5a3a5 100644 --- a/processing/src/main/java/io/druid/query/aggregation/cardinality/types/LongCardinalityAggregatorColumnSelectorStrategy.java +++ b/processing/src/main/java/io/druid/query/aggregation/cardinality/types/LongCardinalityAggregatorColumnSelectorStrategy.java @@ -30,12 +30,12 @@ public class LongCardinalityAggregatorColumnSelectorStrategy @Override public void hashRow(LongColumnSelector dimSelector, Hasher hasher) { - hasher.putLong(dimSelector.get()); + hasher.putLong(dimSelector.getLong()); } @Override public void hashValues(LongColumnSelector dimSelector, HyperLogLogCollector collector) { - collector.add(CardinalityAggregator.hashFn.hashLong(dimSelector.get()).asBytes()); + collector.add(CardinalityAggregator.hashFn.hashLong(dimSelector.getLong()).asBytes()); } } diff --git a/processing/src/main/java/io/druid/query/aggregation/first/DoubleFirstAggregator.java b/processing/src/main/java/io/druid/query/aggregation/first/DoubleFirstAggregator.java index d45391aa850..2cc135467cf 100644 --- a/processing/src/main/java/io/druid/query/aggregation/first/DoubleFirstAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/first/DoubleFirstAggregator.java @@ -50,10 +50,10 @@ public class DoubleFirstAggregator implements Aggregator @Override public void aggregate() { - long time = timeSelector.get(); + long time = timeSelector.getLong(); if (time < firstTime) { firstTime = time; - firstValue = valueSelector.get(); + firstValue = valueSelector.getDouble(); } } diff --git a/processing/src/main/java/io/druid/query/aggregation/first/DoubleFirstBufferAggregator.java b/processing/src/main/java/io/druid/query/aggregation/first/DoubleFirstBufferAggregator.java index 74aa3a1034d..5a03f4765c8 100644 --- a/processing/src/main/java/io/druid/query/aggregation/first/DoubleFirstBufferAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/first/DoubleFirstBufferAggregator.java @@ -48,11 +48,11 @@ public class DoubleFirstBufferAggregator implements BufferAggregator @Override public void aggregate(ByteBuffer buf, int position) { - long time = timeSelector.get(); + long time = timeSelector.getLong(); long firstTime = buf.getLong(position); if (time < firstTime) { buf.putLong(position, time); - buf.putDouble(position + Long.BYTES, valueSelector.get()); + buf.putDouble(position + Long.BYTES, valueSelector.getDouble()); } } diff --git a/processing/src/main/java/io/druid/query/aggregation/first/FloatFirstAggregator.java b/processing/src/main/java/io/druid/query/aggregation/first/FloatFirstAggregator.java index 4bba969f413..151a343456e 100644 --- a/processing/src/main/java/io/druid/query/aggregation/first/FloatFirstAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/first/FloatFirstAggregator.java @@ -50,10 +50,10 @@ public class FloatFirstAggregator implements Aggregator @Override public void aggregate() { - long time = timeSelector.get(); + long time = timeSelector.getLong(); if (time < firstTime) { firstTime = time; - firstValue = valueSelector.get(); + firstValue = valueSelector.getFloat(); } } diff --git a/processing/src/main/java/io/druid/query/aggregation/first/FloatFirstBufferAggregator.java b/processing/src/main/java/io/druid/query/aggregation/first/FloatFirstBufferAggregator.java index 62fa6000224..62a7a4958ed 100644 --- a/processing/src/main/java/io/druid/query/aggregation/first/FloatFirstBufferAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/first/FloatFirstBufferAggregator.java @@ -48,11 +48,11 @@ public class FloatFirstBufferAggregator implements BufferAggregator @Override public void aggregate(ByteBuffer buf, int position) { - long time = timeSelector.get(); + long time = timeSelector.getLong(); long firstTime = buf.getLong(position); if (time < firstTime) { buf.putLong(position, time); - buf.putFloat(position + Long.BYTES, valueSelector.get()); + buf.putFloat(position + Long.BYTES, valueSelector.getFloat()); } } diff --git a/processing/src/main/java/io/druid/query/aggregation/first/LongFirstAggregator.java b/processing/src/main/java/io/druid/query/aggregation/first/LongFirstAggregator.java index be0dfd2ebc9..cdbf33ed7af 100644 --- a/processing/src/main/java/io/druid/query/aggregation/first/LongFirstAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/first/LongFirstAggregator.java @@ -49,10 +49,10 @@ public class LongFirstAggregator implements Aggregator @Override public void aggregate() { - long time = timeSelector.get(); + long time = timeSelector.getLong(); if (time < firstTime) { firstTime = time; - firstValue = valueSelector.get(); + firstValue = valueSelector.getLong(); } } diff --git a/processing/src/main/java/io/druid/query/aggregation/first/LongFirstBufferAggregator.java b/processing/src/main/java/io/druid/query/aggregation/first/LongFirstBufferAggregator.java index 148beae45c9..1f95668c123 100644 --- a/processing/src/main/java/io/druid/query/aggregation/first/LongFirstBufferAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/first/LongFirstBufferAggregator.java @@ -48,11 +48,11 @@ public class LongFirstBufferAggregator implements BufferAggregator @Override public void aggregate(ByteBuffer buf, int position) { - long time = timeSelector.get(); + long time = timeSelector.getLong(); long firstTime = buf.getLong(position); if (time < firstTime) { buf.putLong(position, time); - buf.putLong(position + Longs.BYTES, valueSelector.get()); + buf.putLong(position + Longs.BYTES, valueSelector.getLong()); } } diff --git a/processing/src/main/java/io/druid/query/aggregation/last/DoubleLastAggregator.java b/processing/src/main/java/io/druid/query/aggregation/last/DoubleLastAggregator.java index b087e1587fb..6b93f135bf9 100644 --- a/processing/src/main/java/io/druid/query/aggregation/last/DoubleLastAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/last/DoubleLastAggregator.java @@ -50,10 +50,10 @@ public class DoubleLastAggregator implements Aggregator @Override public void aggregate() { - long time = timeSelector.get(); + long time = timeSelector.getLong(); if (time >= lastTime) { - lastTime = timeSelector.get(); - lastValue = valueSelector.get(); + lastTime = time; + lastValue = valueSelector.getDouble(); } } diff --git a/processing/src/main/java/io/druid/query/aggregation/last/DoubleLastBufferAggregator.java b/processing/src/main/java/io/druid/query/aggregation/last/DoubleLastBufferAggregator.java index 7f035d82e6f..cf2d16b0d45 100644 --- a/processing/src/main/java/io/druid/query/aggregation/last/DoubleLastBufferAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/last/DoubleLastBufferAggregator.java @@ -48,11 +48,11 @@ public class DoubleLastBufferAggregator implements BufferAggregator @Override public void aggregate(ByteBuffer buf, int position) { - long time = timeSelector.get(); + long time = timeSelector.getLong(); long lastTime = buf.getLong(position); if (time >= lastTime) { buf.putLong(position, time); - buf.putDouble(position + Long.BYTES, valueSelector.get()); + buf.putDouble(position + Long.BYTES, valueSelector.getDouble()); } } diff --git a/processing/src/main/java/io/druid/query/aggregation/last/FloatLastAggregator.java b/processing/src/main/java/io/druid/query/aggregation/last/FloatLastAggregator.java index 42c130d7b91..3cc0800b5ad 100644 --- a/processing/src/main/java/io/druid/query/aggregation/last/FloatLastAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/last/FloatLastAggregator.java @@ -48,10 +48,10 @@ public class FloatLastAggregator implements Aggregator @Override public void aggregate() { - long time = timeSelector.get(); + long time = timeSelector.getLong(); if (time >= lastTime) { - lastTime = timeSelector.get(); - lastValue = valueSelector.get(); + lastTime = time; + lastValue = valueSelector.getFloat(); } } diff --git a/processing/src/main/java/io/druid/query/aggregation/last/FloatLastBufferAggregator.java b/processing/src/main/java/io/druid/query/aggregation/last/FloatLastBufferAggregator.java index b5a25b62341..ed1befa6639 100644 --- a/processing/src/main/java/io/druid/query/aggregation/last/FloatLastBufferAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/last/FloatLastBufferAggregator.java @@ -48,11 +48,11 @@ public class FloatLastBufferAggregator implements BufferAggregator @Override public void aggregate(ByteBuffer buf, int position) { - long time = timeSelector.get(); + long time = timeSelector.getLong(); long lastTime = buf.getLong(position); if (time >= lastTime) { buf.putLong(position, time); - buf.putFloat(position + Long.BYTES, valueSelector.get()); + buf.putFloat(position + Long.BYTES, valueSelector.getFloat()); } } diff --git a/processing/src/main/java/io/druid/query/aggregation/last/LongLastAggregator.java b/processing/src/main/java/io/druid/query/aggregation/last/LongLastAggregator.java index fb9caabdf83..e70f0848c7f 100644 --- a/processing/src/main/java/io/druid/query/aggregation/last/LongLastAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/last/LongLastAggregator.java @@ -48,10 +48,10 @@ public class LongLastAggregator implements Aggregator @Override public void aggregate() { - long time = timeSelector.get(); + long time = timeSelector.getLong(); if (time >= lastTime) { - lastTime = timeSelector.get(); - lastValue = valueSelector.get(); + lastTime = time; + lastValue = valueSelector.getLong(); } } diff --git a/processing/src/main/java/io/druid/query/aggregation/last/LongLastBufferAggregator.java b/processing/src/main/java/io/druid/query/aggregation/last/LongLastBufferAggregator.java index 9d96c18837a..a6d1b5d1c20 100644 --- a/processing/src/main/java/io/druid/query/aggregation/last/LongLastBufferAggregator.java +++ b/processing/src/main/java/io/druid/query/aggregation/last/LongLastBufferAggregator.java @@ -47,11 +47,11 @@ public class LongLastBufferAggregator implements BufferAggregator @Override public void aggregate(ByteBuffer buf, int position) { - long time = timeSelector.get(); + long time = timeSelector.getLong(); long lastTime = buf.getLong(position); if (time >= lastTime) { buf.putLong(position, time); - buf.putLong(position + Long.BYTES, valueSelector.get()); + buf.putLong(position + Long.BYTES, valueSelector.getLong()); } } diff --git a/processing/src/main/java/io/druid/query/filter/DoubleValueMatcherColumnSelectorStrategy.java b/processing/src/main/java/io/druid/query/filter/DoubleValueMatcherColumnSelectorStrategy.java index a5bbc78437e..f2c20e645ce 100644 --- a/processing/src/main/java/io/druid/query/filter/DoubleValueMatcherColumnSelectorStrategy.java +++ b/processing/src/main/java/io/druid/query/filter/DoubleValueMatcherColumnSelectorStrategy.java @@ -41,7 +41,7 @@ public class DoubleValueMatcherColumnSelectorStrategy implements ValueMatcherCol @Override public boolean matches() { - return Double.doubleToLongBits(selector.get()) == matchValLongBits; + return Double.doubleToLongBits(selector.getDouble()) == matchValLongBits; } @Override @@ -63,7 +63,7 @@ public class DoubleValueMatcherColumnSelectorStrategy implements ValueMatcherCol @Override public boolean matches() { - return predicate.applyDouble(selector.get()); + return predicate.applyDouble(selector.getDouble()); } @Override @@ -83,7 +83,7 @@ public class DoubleValueMatcherColumnSelectorStrategy implements ValueMatcherCol @Override public String[] get() { - return new String[]{Double.toString(selector.get())}; + return new String[]{Double.toString(selector.getDouble())}; } }; } diff --git a/processing/src/main/java/io/druid/query/filter/FloatValueMatcherColumnSelectorStrategy.java b/processing/src/main/java/io/druid/query/filter/FloatValueMatcherColumnSelectorStrategy.java index afdecd1c4c3..209678de818 100644 --- a/processing/src/main/java/io/druid/query/filter/FloatValueMatcherColumnSelectorStrategy.java +++ b/processing/src/main/java/io/druid/query/filter/FloatValueMatcherColumnSelectorStrategy.java @@ -40,7 +40,7 @@ public class FloatValueMatcherColumnSelectorStrategy implements ValueMatcherColu @Override public boolean matches() { - return Float.floatToIntBits(selector.get()) == matchValIntBits; + return Float.floatToIntBits(selector.getFloat()) == matchValIntBits; } @Override @@ -62,7 +62,7 @@ public class FloatValueMatcherColumnSelectorStrategy implements ValueMatcherColu @Override public boolean matches() { - return predicate.applyFloat(selector.get()); + return predicate.applyFloat(selector.getFloat()); } @Override @@ -82,7 +82,7 @@ public class FloatValueMatcherColumnSelectorStrategy implements ValueMatcherColu @Override public String[] get() { - return new String[]{Float.toString(selector.get())}; + return new String[]{Float.toString(selector.getFloat())}; } }; } diff --git a/processing/src/main/java/io/druid/query/filter/LongValueMatcherColumnSelectorStrategy.java b/processing/src/main/java/io/druid/query/filter/LongValueMatcherColumnSelectorStrategy.java index 4374f301374..73ce3bbaff5 100644 --- a/processing/src/main/java/io/druid/query/filter/LongValueMatcherColumnSelectorStrategy.java +++ b/processing/src/main/java/io/druid/query/filter/LongValueMatcherColumnSelectorStrategy.java @@ -39,7 +39,7 @@ public class LongValueMatcherColumnSelectorStrategy implements ValueMatcherColum @Override public boolean matches() { - return selector.get() == matchValLong; + return selector.getLong() == matchValLong; } @Override @@ -61,7 +61,7 @@ public class LongValueMatcherColumnSelectorStrategy implements ValueMatcherColum @Override public boolean matches() { - return predicate.applyLong(selector.get()); + return predicate.applyLong(selector.getLong()); } @Override @@ -81,7 +81,7 @@ public class LongValueMatcherColumnSelectorStrategy implements ValueMatcherColum @Override public String[] get() { - return new String[]{Long.toString(selector.get())}; + return new String[]{Long.toString(selector.getLong())}; } }; } diff --git a/processing/src/main/java/io/druid/query/groupby/RowBasedColumnSelectorFactory.java b/processing/src/main/java/io/druid/query/groupby/RowBasedColumnSelectorFactory.java index 8ca587d0545..80133c6120f 100644 --- a/processing/src/main/java/io/druid/query/groupby/RowBasedColumnSelectorFactory.java +++ b/processing/src/main/java/io/druid/query/groupby/RowBasedColumnSelectorFactory.java @@ -373,7 +373,7 @@ public class RowBasedColumnSelectorFactory implements ColumnSelectorFactory class TimeFloatColumnSelector extends RowBasedFloatColumnSelector { @Override - public float get() + public float getFloat() { return (float) row.get().getTimestampFromEpoch(); } @@ -383,7 +383,7 @@ public class RowBasedColumnSelectorFactory implements ColumnSelectorFactory return new RowBasedFloatColumnSelector() { @Override - public float get() + public float getFloat() { return row.get().getFloatMetric(columnName); } @@ -406,7 +406,7 @@ public class RowBasedColumnSelectorFactory implements ColumnSelectorFactory class TimeLongColumnSelector extends RowBasedLongColumnSelector { @Override - public long get() + public long getLong() { return row.get().getTimestampFromEpoch(); } @@ -416,7 +416,7 @@ public class RowBasedColumnSelectorFactory implements ColumnSelectorFactory return new RowBasedLongColumnSelector() { @Override - public long get() + public long getLong() { return row.get().getLongMetric(columnName); } @@ -475,7 +475,7 @@ public class RowBasedColumnSelectorFactory implements ColumnSelectorFactory class TimeDoubleColumnSelector extends RowBasedDoubleColumnSelector { @Override - public double get() + public double getDouble() { return (double) row.get().getTimestampFromEpoch(); } @@ -485,7 +485,7 @@ public class RowBasedColumnSelectorFactory implements ColumnSelectorFactory return new RowBasedDoubleColumnSelector() { @Override - public double get() + public double getDouble() { return row.get().getDoubleMetric(columnName); } diff --git a/processing/src/main/java/io/druid/query/groupby/epinephelinae/RowBasedGrouperHelper.java b/processing/src/main/java/io/druid/query/groupby/epinephelinae/RowBasedGrouperHelper.java index 4fb958a3f60..f307ca501ea 100644 --- a/processing/src/main/java/io/druid/query/groupby/epinephelinae/RowBasedGrouperHelper.java +++ b/processing/src/main/java/io/druid/query/groupby/epinephelinae/RowBasedGrouperHelper.java @@ -487,11 +487,13 @@ public class RowBasedGrouperHelper case STRING: return new StringInputRawSupplierColumnSelectorStrategy(); case LONG: - return (InputRawSupplierColumnSelectorStrategy) columnSelector -> columnSelector::get; + return (InputRawSupplierColumnSelectorStrategy) columnSelector -> columnSelector::getLong; case FLOAT: - return (InputRawSupplierColumnSelectorStrategy) columnSelector -> columnSelector::get; + return (InputRawSupplierColumnSelectorStrategy) + columnSelector -> columnSelector::getFloat; case DOUBLE: - return (InputRawSupplierColumnSelectorStrategy) columnSelector -> columnSelector::get; + return (InputRawSupplierColumnSelectorStrategy) + columnSelector -> columnSelector::getDouble; default: throw new IAE("Cannot create query type helper from invalid type [%s]", type); } diff --git a/processing/src/main/java/io/druid/query/groupby/epinephelinae/column/DoubleGroupByColumnSelectorStrategy.java b/processing/src/main/java/io/druid/query/groupby/epinephelinae/column/DoubleGroupByColumnSelectorStrategy.java index 847fb092e4c..0a03f8a652e 100644 --- a/processing/src/main/java/io/druid/query/groupby/epinephelinae/column/DoubleGroupByColumnSelectorStrategy.java +++ b/processing/src/main/java/io/druid/query/groupby/epinephelinae/column/DoubleGroupByColumnSelectorStrategy.java @@ -21,7 +21,6 @@ package io.druid.query.groupby.epinephelinae.column; import io.druid.segment.ColumnValueSelector; -import io.druid.segment.DoubleColumnSelector; import java.nio.ByteBuffer; import java.util.Map; @@ -46,7 +45,19 @@ public class DoubleGroupByColumnSelectorStrategy implements GroupByColumnSelecto @Override public void initColumnValues(ColumnValueSelector selector, int columnIndex, Object[] values) { - values[columnIndex] = ((DoubleColumnSelector) selector).get(); + values[columnIndex] = selector.getDouble(); + } + + @Override + public Object getOnlyValue(ColumnValueSelector selector) + { + return selector.getDouble(); + } + + @Override + public void writeToKeyBuffer(int keyBufferPosition, Object obj, ByteBuffer keyBuffer) + { + keyBuffer.putDouble(keyBufferPosition, (Double) obj); } @Override @@ -67,16 +78,4 @@ public class DoubleGroupByColumnSelectorStrategy implements GroupByColumnSelecto // this method handles row values after the first in a multivalued row, so just return false return false; } - - @Override - public Object getOnlyValue(ColumnValueSelector selector) - { - return ((DoubleColumnSelector) selector).get(); - } - - @Override - public void writeToKeyBuffer(int keyBufferPosition, Object obj, ByteBuffer keyBuffer) - { - keyBuffer.putDouble(keyBufferPosition, (Double) obj); - } } diff --git a/processing/src/main/java/io/druid/query/groupby/epinephelinae/column/FloatGroupByColumnSelectorStrategy.java b/processing/src/main/java/io/druid/query/groupby/epinephelinae/column/FloatGroupByColumnSelectorStrategy.java index f29338a9b18..fdd4a1f96b1 100644 --- a/processing/src/main/java/io/druid/query/groupby/epinephelinae/column/FloatGroupByColumnSelectorStrategy.java +++ b/processing/src/main/java/io/druid/query/groupby/epinephelinae/column/FloatGroupByColumnSelectorStrategy.java @@ -21,7 +21,6 @@ package io.druid.query.groupby.epinephelinae.column; import com.google.common.primitives.Floats; import io.druid.segment.ColumnValueSelector; -import io.druid.segment.FloatColumnSelector; import java.nio.ByteBuffer; import java.util.Map; @@ -47,13 +46,13 @@ public class FloatGroupByColumnSelectorStrategy implements GroupByColumnSelector @Override public void initColumnValues(ColumnValueSelector selector, int columnIndex, Object[] valuess) { - valuess[columnIndex] = ((FloatColumnSelector) selector).get(); + valuess[columnIndex] = selector.getFloat(); } @Override public Object getOnlyValue(ColumnValueSelector selector) { - return ((FloatColumnSelector) selector).get(); + return selector.getFloat(); } @Override diff --git a/processing/src/main/java/io/druid/query/groupby/epinephelinae/column/LongGroupByColumnSelectorStrategy.java b/processing/src/main/java/io/druid/query/groupby/epinephelinae/column/LongGroupByColumnSelectorStrategy.java index 178828076c6..46de9de3249 100644 --- a/processing/src/main/java/io/druid/query/groupby/epinephelinae/column/LongGroupByColumnSelectorStrategy.java +++ b/processing/src/main/java/io/druid/query/groupby/epinephelinae/column/LongGroupByColumnSelectorStrategy.java @@ -21,7 +21,6 @@ package io.druid.query.groupby.epinephelinae.column; import com.google.common.primitives.Longs; import io.druid.segment.ColumnValueSelector; -import io.druid.segment.LongColumnSelector; import java.nio.ByteBuffer; import java.util.Map; @@ -47,13 +46,13 @@ public class LongGroupByColumnSelectorStrategy implements GroupByColumnSelectorS @Override public void initColumnValues(ColumnValueSelector selector, int columnIndex, Object[] valuess) { - valuess[columnIndex] = ((LongColumnSelector) selector).get(); + valuess[columnIndex] = selector.getLong(); } @Override public Object getOnlyValue(ColumnValueSelector selector) { - return ((LongColumnSelector) selector).get(); + return selector.getLong(); } @Override diff --git a/processing/src/main/java/io/druid/query/search/SearchQueryRunner.java b/processing/src/main/java/io/druid/query/search/SearchQueryRunner.java index 712a2bb0bdb..7670d5003d7 100644 --- a/processing/src/main/java/io/druid/query/search/SearchQueryRunner.java +++ b/processing/src/main/java/io/druid/query/search/SearchQueryRunner.java @@ -159,7 +159,7 @@ public class SearchQueryRunner implements QueryRunner> ) { if (selector != null) { - final String dimVal = String.valueOf(selector.get()); + final String dimVal = String.valueOf(selector.getLong()); if (searchQuerySpec.accept(dimVal)) { set.addTo(new SearchHit(outputName, dimVal), 1); } @@ -179,7 +179,7 @@ public class SearchQueryRunner implements QueryRunner> ) { if (selector != null) { - final String dimVal = String.valueOf(selector.get()); + final String dimVal = String.valueOf(selector.getFloat()); if (searchQuerySpec.accept(dimVal)) { set.addTo(new SearchHit(outputName, dimVal), 1); } @@ -199,7 +199,7 @@ public class SearchQueryRunner implements QueryRunner> ) { if (selector != null) { - final String dimVal = String.valueOf(selector.get()); + final String dimVal = String.valueOf(selector.getDouble()); if (searchQuerySpec.accept(dimVal)) { set.addTo(new SearchHit(outputName, dimVal), 1); } diff --git a/processing/src/main/java/io/druid/query/select/SelectQueryEngine.java b/processing/src/main/java/io/druid/query/select/SelectQueryEngine.java index 96fa0fd6fb6..85099f18ba5 100644 --- a/processing/src/main/java/io/druid/query/select/SelectQueryEngine.java +++ b/processing/src/main/java/io/druid/query/select/SelectQueryEngine.java @@ -143,7 +143,7 @@ public class SelectQueryEngine if (dimSelector == null) { resultMap.put(outputName, null); } else { - resultMap.put(outputName, dimSelector.get()); + resultMap.put(outputName, dimSelector.getLong()); } } } @@ -158,7 +158,7 @@ public class SelectQueryEngine if (dimSelector == null) { resultMap.put(outputName, null); } else { - resultMap.put(outputName, dimSelector.get()); + resultMap.put(outputName, dimSelector.getFloat()); } } } @@ -174,7 +174,7 @@ public class SelectQueryEngine if (dimSelector == null) { resultMap.put(outputName, null); } else { - resultMap.put(outputName, dimSelector.get()); + resultMap.put(outputName, dimSelector.getDouble()); } } } @@ -300,7 +300,7 @@ public class SelectQueryEngine ) { final Map theEvent = Maps.newLinkedHashMap(); - theEvent.put(timestampKey, new DateTime(timestampColumnSelector.get())); + theEvent.put(timestampKey, new DateTime(timestampColumnSelector.getLong())); for (ColumnSelectorPlus selectorPlus : selectorPlusList) { selectorPlus.getColumnSelectorStrategy().addRowValuesToSelectResult(selectorPlus.getOutputName(), selectorPlus.getSelector(), theEvent); diff --git a/processing/src/main/java/io/druid/query/timeboundary/TimeBoundaryQueryRunnerFactory.java b/processing/src/main/java/io/druid/query/timeboundary/TimeBoundaryQueryRunnerFactory.java index 1c51392086f..d2498ecc54f 100644 --- a/processing/src/main/java/io/druid/query/timeboundary/TimeBoundaryQueryRunnerFactory.java +++ b/processing/src/main/java/io/druid/query/timeboundary/TimeBoundaryQueryRunnerFactory.java @@ -103,7 +103,7 @@ public class TimeBoundaryQueryRunnerFactory return null; } final LongColumnSelector timestampColumnSelector = cursor.makeLongColumnSelector(Column.TIME_COLUMN_NAME); - final DateTime timestamp = new DateTime(timestampColumnSelector.get()); + final DateTime timestamp = new DateTime(timestampColumnSelector.getLong()); return new Result<>(adapter.getInterval().getStart(), timestamp); } }; diff --git a/processing/src/main/java/io/druid/query/topn/types/NumericTopNColumnSelectorStrategy.java b/processing/src/main/java/io/druid/query/topn/types/NumericTopNColumnSelectorStrategy.java index 0398ef020ad..22a96851951 100644 --- a/processing/src/main/java/io/druid/query/topn/types/NumericTopNColumnSelectorStrategy.java +++ b/processing/src/main/java/io/druid/query/topn/types/NumericTopNColumnSelectorStrategy.java @@ -67,7 +67,7 @@ public abstract class NumericTopNColumnSelectorStrategy< { long processedRows = 0; while (!cursor.isDone()) { - int key = Float.floatToIntBits(selector.get()); + int key = Float.floatToIntBits(selector.getFloat()); Aggregator[] theAggregators = aggregatesStore.get(key); if (theAggregators == null) { theAggregators = BaseTopNAlgorithm.makeAggregators(cursor, query.getAggregatorSpecs()); @@ -91,7 +91,7 @@ public abstract class NumericTopNColumnSelectorStrategy< { long processedRows = 0; while (!cursor.isDone()) { - long key = Double.doubleToLongBits(selector.get()); + long key = Double.doubleToLongBits(selector.getDouble()); Aggregator[] theAggregators = aggregatesStore.get(key); if (theAggregators == null) { theAggregators = BaseTopNAlgorithm.makeAggregators(cursor, query.getAggregatorSpecs()); @@ -115,7 +115,7 @@ public abstract class NumericTopNColumnSelectorStrategy< { long processedRows = 0; while (!cursor.isDone()) { - long key = selector.get(); + long key = selector.getLong(); Aggregator[] theAggregators = aggregatesStore.get(key); if (theAggregators == null) { theAggregators = BaseTopNAlgorithm.makeAggregators(cursor, query.getAggregatorSpecs()); diff --git a/processing/src/main/java/io/druid/segment/ColumnValueSelector.java b/processing/src/main/java/io/druid/segment/ColumnValueSelector.java index d73ac68affe..2ca6e623b33 100644 --- a/processing/src/main/java/io/druid/segment/ColumnValueSelector.java +++ b/processing/src/main/java/io/druid/segment/ColumnValueSelector.java @@ -21,7 +21,16 @@ package io.druid.segment; /** * Base type for interfaces that manage column value selection, e.g. DimensionSelector, LongColumnSelector + * + * This interface has methods to get the value in all primitive types, that have corresponding basic aggregators in + * Druid: Sum, Min, Max, etc: {@link #getFloat()}, {@link #getDouble()} and {@link #getLong()} to support "polymorphic" + * rollup aggregation during index merging. */ public interface ColumnValueSelector { + float getFloat(); + + double getDouble(); + + long getLong(); } diff --git a/processing/src/main/java/io/druid/segment/DimensionSelector.java b/processing/src/main/java/io/druid/segment/DimensionSelector.java index cce1f1c9c83..fa56c30928b 100644 --- a/processing/src/main/java/io/druid/segment/DimensionSelector.java +++ b/processing/src/main/java/io/druid/segment/DimensionSelector.java @@ -117,4 +117,34 @@ public interface DimensionSelector extends ColumnValueSelector, HotLoopCallee */ @Nullable IdLookup idLookup(); + + /** + * @deprecated always throws {@link UnsupportedOperationException} + */ + @Deprecated + @Override + default float getFloat() + { + throw new UnsupportedOperationException("DimensionSelector cannot be operated as numeric ColumnValueSelector"); + } + + /** + * @deprecated always throws {@link UnsupportedOperationException} + */ + @Deprecated + @Override + default double getDouble() + { + throw new UnsupportedOperationException("DimensionSelector cannot be operated as numeric ColumnValueSelector"); + } + + /** + * @deprecated always throws {@link UnsupportedOperationException} + */ + @Deprecated + @Override + default long getLong() + { + throw new UnsupportedOperationException("DimensionSelector cannot be operated as numeric ColumnValueSelector"); + } } diff --git a/processing/src/main/java/io/druid/segment/DoubleColumnSelector.java b/processing/src/main/java/io/druid/segment/DoubleColumnSelector.java index 1fff5d51be8..d38e241b780 100644 --- a/processing/src/main/java/io/druid/segment/DoubleColumnSelector.java +++ b/processing/src/main/java/io/druid/segment/DoubleColumnSelector.java @@ -26,5 +26,32 @@ import io.druid.query.monomorphicprocessing.HotLoopCallee; public interface DoubleColumnSelector extends ColumnValueSelector, HotLoopCallee { @CalledFromHotLoop - double get(); + @Override + double getDouble(); + + /** + * @deprecated This method is marked as deprecated in DoubleColumnSelector to minimize the probability of accidential + * calling. "Polymorphism" of DoubleColumnSelector should be used only when operating on {@link ColumnValueSelector} + * objects. + */ + @Deprecated + @CalledFromHotLoop + @Override + default float getFloat() + { + return (float) getDouble(); + } + + /** + * @deprecated This method is marked as deprecated in DoubleColumnSelector to minimize the probability of accidential + * calling. "Polymorphism" of DoubleColumnSelector should be used only when operating on {@link ColumnValueSelector} + * objects. + */ + @Deprecated + @CalledFromHotLoop + @Override + default long getLong() + { + return (long) getDouble(); + } } diff --git a/processing/src/main/java/io/druid/segment/DoubleDimensionIndexer.java b/processing/src/main/java/io/druid/segment/DoubleDimensionIndexer.java index 49d0b354228..4bdbb170b9b 100644 --- a/processing/src/main/java/io/druid/segment/DoubleDimensionIndexer.java +++ b/processing/src/main/java/io/druid/segment/DoubleDimensionIndexer.java @@ -104,7 +104,7 @@ public class DoubleDimensionIndexer implements DimensionIndexer class IndexerLongColumnSelector implements LongColumnSelector { @Override - public long get() + public long getLong() { final Object[] dims = currEntry.getKey().getDims(); @@ -137,7 +137,7 @@ public class LongDimensionIndexer implements DimensionIndexer class IndexerFloatColumnSelector implements FloatColumnSelector { @Override - public float get() + public float getFloat() { final Object[] dims = currEntry.getKey().getDims(); @@ -200,7 +200,7 @@ public class LongDimensionIndexer implements DimensionIndexer class IndexerDoubleColumnSelector implements DoubleColumnSelector { @Override - public double get() + public double getDouble() { final Object[] dims = currEntry.getKey().getDims(); diff --git a/processing/src/main/java/io/druid/segment/LongWrappingDimensionSelector.java b/processing/src/main/java/io/druid/segment/LongWrappingDimensionSelector.java index 5d7a3430626..082ef0c1147 100644 --- a/processing/src/main/java/io/druid/segment/LongWrappingDimensionSelector.java +++ b/processing/src/main/java/io/druid/segment/LongWrappingDimensionSelector.java @@ -38,9 +38,9 @@ public class LongWrappingDimensionSelector extends BaseSingleValueDimensionSelec protected String getValue() { if (extractionFn == null) { - return String.valueOf(selector.get()); + return String.valueOf(selector.getLong()); } else { - return extractionFn.apply(selector.get()); + return extractionFn.apply(selector.getLong()); } } diff --git a/processing/src/main/java/io/druid/segment/ObjectColumnSelector.java b/processing/src/main/java/io/druid/segment/ObjectColumnSelector.java index ec9ab94ab45..6dac1a42d5d 100644 --- a/processing/src/main/java/io/druid/segment/ObjectColumnSelector.java +++ b/processing/src/main/java/io/druid/segment/ObjectColumnSelector.java @@ -19,12 +19,50 @@ package io.druid.segment; -import io.druid.query.monomorphicprocessing.CalledFromHotLoop; - public interface ObjectColumnSelector extends ColumnValueSelector { public Class classOfObject(); - @CalledFromHotLoop + /** + * This method is not annotated with {@link io.druid.query.monomorphicprocessing.CalledFromHotLoop}, because + * ObjectColumnSelector doesn't extend {@link io.druid.query.monomorphicprocessing.HotLoopCallee} yet. If it will, + * this method should be annotated. + */ public T get(); + + /** + * @deprecated This method is marked as deprecated in ObjectColumnSelector to minimize the probability of accidential + * calling. "Polymorphism" of ObjectColumnSelector should be used only when operating on {@link ColumnValueSelector} + * objects. + */ + @Deprecated + @Override + default float getFloat() + { + return ((Number) get()).floatValue(); + } + + /** + * @deprecated This method is marked as deprecated in ObjectColumnSelector to minimize the probability of accidential + * calling. "Polymorphism" of ObjectColumnSelector should be used only when operating on {@link ColumnValueSelector} + * objects. + */ + @Deprecated + @Override + default double getDouble() + { + return ((Number) get()).doubleValue(); + } + + /** + * @deprecated This method is marked as deprecated in ObjectColumnSelector to minimize the probability of accidential + * calling. "Polymorphism" of ObjectColumnSelector should be used only when operating on {@link ColumnValueSelector} + * objects. + */ + @Deprecated + @Override + default long getLong() + { + return ((Number) get()).longValue(); + } } diff --git a/processing/src/main/java/io/druid/segment/QueryableIndexStorageAdapter.java b/processing/src/main/java/io/druid/segment/QueryableIndexStorageAdapter.java index 3e3effe2c9b..1a5eb25e038 100644 --- a/processing/src/main/java/io/druid/segment/QueryableIndexStorageAdapter.java +++ b/processing/src/main/java/io/druid/segment/QueryableIndexStorageAdapter.java @@ -566,7 +566,7 @@ public class QueryableIndexStorageAdapter implements StorageAdapter return new HistoricalFloatColumnSelector() { @Override - public float get() + public float getFloat() { return metricVals.getFloatSingleValueRow(getReadableOffset().getOffset()); } @@ -612,7 +612,7 @@ public class QueryableIndexStorageAdapter implements StorageAdapter return new DoubleColumnSelector() { @Override - public double get() + public double getDouble() { return metricVals.getDoubleSingleValueRow(getReadableOffset().getOffset()); } @@ -652,7 +652,7 @@ public class QueryableIndexStorageAdapter implements StorageAdapter return new LongColumnSelector() { @Override - public long get() + public long getLong() { return metricVals.getLongSingleValueRow(getReadableOffset().getOffset()); } diff --git a/processing/src/main/java/io/druid/segment/SingleScanTimeDimSelector.java b/processing/src/main/java/io/druid/segment/SingleScanTimeDimSelector.java index 0415cd0bda1..b36cc6576f9 100644 --- a/processing/src/main/java/io/druid/segment/SingleScanTimeDimSelector.java +++ b/processing/src/main/java/io/druid/segment/SingleScanTimeDimSelector.java @@ -112,7 +112,7 @@ public class SingleScanTimeDimSelector implements SingleValueDimensionSelector private int getDimensionValueIndex() { // if this the first timestamp, apply and cache extraction function result - final long timestamp = selector.get(); + final long timestamp = selector.getLong(); if (index < 0) { currentTimestamp = timestamp; currentValue = extractionFn.apply(timestamp); diff --git a/processing/src/main/java/io/druid/segment/ZeroDoubleColumnSelector.java b/processing/src/main/java/io/druid/segment/ZeroDoubleColumnSelector.java index 1857cd9215c..0e6544fe999 100644 --- a/processing/src/main/java/io/druid/segment/ZeroDoubleColumnSelector.java +++ b/processing/src/main/java/io/druid/segment/ZeroDoubleColumnSelector.java @@ -36,7 +36,7 @@ public final class ZeroDoubleColumnSelector implements DoubleColumnSelector } @Override - public double get() + public double getDouble() { return 0.0d; } diff --git a/processing/src/main/java/io/druid/segment/ZeroFloatColumnSelector.java b/processing/src/main/java/io/druid/segment/ZeroFloatColumnSelector.java index ffcd67e83fa..3eab4d8b906 100644 --- a/processing/src/main/java/io/druid/segment/ZeroFloatColumnSelector.java +++ b/processing/src/main/java/io/druid/segment/ZeroFloatColumnSelector.java @@ -37,7 +37,7 @@ public final class ZeroFloatColumnSelector implements HistoricalFloatColumnSelec } @Override - public float get() + public float getFloat() { return 0.0f; } @@ -45,7 +45,7 @@ public final class ZeroFloatColumnSelector implements HistoricalFloatColumnSelec @Override public float get(int offset) { - return get(); + return getFloat(); } @Override diff --git a/processing/src/main/java/io/druid/segment/ZeroLongColumnSelector.java b/processing/src/main/java/io/druid/segment/ZeroLongColumnSelector.java index 71cb8128ce1..7117b824a79 100644 --- a/processing/src/main/java/io/druid/segment/ZeroLongColumnSelector.java +++ b/processing/src/main/java/io/druid/segment/ZeroLongColumnSelector.java @@ -36,7 +36,7 @@ public final class ZeroLongColumnSelector implements LongColumnSelector } @Override - public long get() + public long getLong() { return 0; } diff --git a/processing/src/main/java/io/druid/segment/filter/ExpressionFilter.java b/processing/src/main/java/io/druid/segment/filter/ExpressionFilter.java index c05def542ff..e63f718dfcf 100644 --- a/processing/src/main/java/io/druid/segment/filter/ExpressionFilter.java +++ b/processing/src/main/java/io/druid/segment/filter/ExpressionFilter.java @@ -57,7 +57,7 @@ public class ExpressionFilter implements Filter @Override public boolean matches() { - return Evals.asBoolean(selector.get()); + return Evals.asBoolean(selector.getLong()); } @Override diff --git a/processing/src/main/java/io/druid/segment/filter/Filters.java b/processing/src/main/java/io/druid/segment/filter/Filters.java index 4d706e2a117..79d9915c731 100644 --- a/processing/src/main/java/io/druid/segment/filter/Filters.java +++ b/processing/src/main/java/io/druid/segment/filter/Filters.java @@ -455,7 +455,7 @@ public class Filters @Override public boolean matches() { - return predicate.applyLong(longSelector.get()); + return predicate.applyLong(longSelector.getLong()); } @Override diff --git a/processing/src/main/java/io/druid/segment/incremental/IncrementalIndexStorageAdapter.java b/processing/src/main/java/io/druid/segment/incremental/IncrementalIndexStorageAdapter.java index 895b1d37288..b747df94075 100644 --- a/processing/src/main/java/io/druid/segment/incremental/IncrementalIndexStorageAdapter.java +++ b/processing/src/main/java/io/druid/segment/incremental/IncrementalIndexStorageAdapter.java @@ -467,7 +467,7 @@ public class IncrementalIndexStorageAdapter implements StorageAdapter return new FloatColumnSelector() { @Override - public float get() + public float getFloat() { return index.getMetricFloatValue(currEntry.getValue(), metricIndex); } @@ -491,7 +491,7 @@ public class IncrementalIndexStorageAdapter implements StorageAdapter class TimeLongColumnSelector implements LongColumnSelector { @Override - public long get() + public long getLong() { return currEntry.getKey().getTimestamp(); } @@ -525,7 +525,7 @@ public class IncrementalIndexStorageAdapter implements StorageAdapter return new LongColumnSelector() { @Override - public long get() + public long getLong() { return index.getMetricLongValue( currEntry.getValue(), @@ -652,7 +652,7 @@ public class IncrementalIndexStorageAdapter implements StorageAdapter return new DoubleColumnSelector() { @Override - public double get() + public double getDouble() { return index.getMetricDoubleValue(currEntry.getValue(), metricIndex); } diff --git a/processing/src/main/java/io/druid/segment/virtual/ExpressionObjectSelector.java b/processing/src/main/java/io/druid/segment/virtual/ExpressionObjectSelector.java index c0eaa5a6b4d..bb021795867 100644 --- a/processing/src/main/java/io/druid/segment/virtual/ExpressionObjectSelector.java +++ b/processing/src/main/java/io/druid/segment/virtual/ExpressionObjectSelector.java @@ -63,11 +63,11 @@ public class ExpressionObjectSelector implements ObjectColumnSelector final Supplier supplier; if (nativeType == ValueType.FLOAT) { - supplier = columnSelectorFactory.makeFloatColumnSelector(columnName)::get; + supplier = columnSelectorFactory.makeFloatColumnSelector(columnName)::getFloat; } else if (nativeType == ValueType.LONG) { - supplier = columnSelectorFactory.makeLongColumnSelector(columnName)::get; + supplier = columnSelectorFactory.makeLongColumnSelector(columnName)::getLong; } else if (nativeType == ValueType.DOUBLE) { - supplier = columnSelectorFactory.makeDoubleColumnSelector(columnName)::get; + supplier = columnSelectorFactory.makeDoubleColumnSelector(columnName)::getDouble; } else if (nativeType == ValueType.STRING) { supplier = supplierFromDimensionSelector( columnSelectorFactory.makeDimensionSelector(new DefaultDimensionSpec(columnName, columnName)) diff --git a/processing/src/main/java/io/druid/segment/virtual/ExpressionSelectors.java b/processing/src/main/java/io/druid/segment/virtual/ExpressionSelectors.java index 071ed634b1d..5ad2a268dd5 100644 --- a/processing/src/main/java/io/druid/segment/virtual/ExpressionSelectors.java +++ b/processing/src/main/java/io/druid/segment/virtual/ExpressionSelectors.java @@ -55,7 +55,7 @@ public class ExpressionSelectors class ExpressionLongColumnSelector implements LongColumnSelector { @Override - public long get() + public long getLong() { final ExprEval exprEval = baseSelector.get(); return exprEval.isNull() ? nullValue : exprEval.asLong(); @@ -80,7 +80,7 @@ public class ExpressionSelectors class ExpressionFloatColumnSelector implements FloatColumnSelector { @Override - public float get() + public float getFloat() { final ExprEval exprEval = baseSelector.get(); return exprEval.isNull() ? nullValue : (float) exprEval.asDouble(); @@ -105,7 +105,7 @@ public class ExpressionSelectors class ExpressionDoubleColumnSelector implements DoubleColumnSelector { @Override - public double get() + public double getDouble() { final Double number = baseSelector.get().asDouble(); return number != null ? number.doubleValue() : nullValue; diff --git a/processing/src/test/java/io/druid/query/aggregation/FilteredAggregatorTest.java b/processing/src/test/java/io/druid/query/aggregation/FilteredAggregatorTest.java index 2d58d708732..d9d4382ee82 100644 --- a/processing/src/test/java/io/druid/query/aggregation/FilteredAggregatorTest.java +++ b/processing/src/test/java/io/druid/query/aggregation/FilteredAggregatorTest.java @@ -40,6 +40,7 @@ import io.druid.query.monomorphicprocessing.RuntimeShapeInspector; import io.druid.query.ordering.StringComparators; import io.druid.query.search.search.ContainsSearchQuerySpec; import io.druid.segment.ColumnSelectorFactory; +import io.druid.segment.ColumnValueSelector; import io.druid.segment.DimensionSelector; import io.druid.segment.DimensionSelectorUtils; import io.druid.segment.DoubleColumnSelector; @@ -206,9 +207,9 @@ public class FilteredAggregatorTest return new DoubleColumnSelector() { @Override - public double get() + public double getDouble() { - return (double) selector.get(); + return ((ColumnValueSelector) selector).getDouble(); } @Override diff --git a/processing/src/test/java/io/druid/query/aggregation/JavaScriptAggregatorBenchmark.java b/processing/src/test/java/io/druid/query/aggregation/JavaScriptAggregatorBenchmark.java index 26e0db1b6c1..2ee57811967 100644 --- a/processing/src/test/java/io/druid/query/aggregation/JavaScriptAggregatorBenchmark.java +++ b/processing/src/test/java/io/druid/query/aggregation/JavaScriptAggregatorBenchmark.java @@ -99,7 +99,7 @@ public class JavaScriptAggregatorBenchmark extends SimpleBenchmark } @Override - public float get() + public float getFloat() { return floats[(int) (index % floats.length)]; } @@ -126,7 +126,7 @@ public class JavaScriptAggregatorBenchmark extends SimpleBenchmark } @Override - public double get() + public double getDouble() { return doubles[(int) (index % doubles.length)]; } diff --git a/processing/src/test/java/io/druid/query/aggregation/MetricManipulatorFnsTest.java b/processing/src/test/java/io/druid/query/aggregation/MetricManipulatorFnsTest.java index 94b2b4f94f2..967086f155f 100644 --- a/processing/src/test/java/io/druid/query/aggregation/MetricManipulatorFnsTest.java +++ b/processing/src/test/java/io/druid/query/aggregation/MetricManipulatorFnsTest.java @@ -46,7 +46,7 @@ public class MetricManipulatorFnsTest new TestLongColumnSelector() { @Override - public long get() + public long getLong() { return longVal; } @@ -85,7 +85,7 @@ public class MetricManipulatorFnsTest new TestLongColumnSelector() { @Override - public long get() + public long getLong() { return longVal; } diff --git a/processing/src/test/java/io/druid/query/aggregation/MetricSelectorUtils.java b/processing/src/test/java/io/druid/query/aggregation/MetricSelectorUtils.java index 3fa03aba187..1700b2d40d8 100644 --- a/processing/src/test/java/io/druid/query/aggregation/MetricSelectorUtils.java +++ b/processing/src/test/java/io/druid/query/aggregation/MetricSelectorUtils.java @@ -38,7 +38,7 @@ public class MetricSelectorUtils @Override public Float get() { - return selector.get(); + return selector.getFloat(); } }; } @@ -56,7 +56,7 @@ public class MetricSelectorUtils @Override public Double get() { - return selector.get(); + return selector.getDouble(); } }; } diff --git a/processing/src/test/java/io/druid/query/aggregation/TestDoubleColumnSelectorImpl.java b/processing/src/test/java/io/druid/query/aggregation/TestDoubleColumnSelectorImpl.java index 5fb27eb6bda..8e8cf509781 100644 --- a/processing/src/test/java/io/druid/query/aggregation/TestDoubleColumnSelectorImpl.java +++ b/processing/src/test/java/io/druid/query/aggregation/TestDoubleColumnSelectorImpl.java @@ -34,7 +34,7 @@ public class TestDoubleColumnSelectorImpl extends TestDoubleColumnSelector } @Override - public double get() + public double getDouble() { return doubles[index]; } diff --git a/processing/src/test/java/io/druid/query/aggregation/TestFloatColumnSelector.java b/processing/src/test/java/io/druid/query/aggregation/TestFloatColumnSelector.java index 75477a9c00e..8c0aa532d8f 100644 --- a/processing/src/test/java/io/druid/query/aggregation/TestFloatColumnSelector.java +++ b/processing/src/test/java/io/druid/query/aggregation/TestFloatColumnSelector.java @@ -33,7 +33,7 @@ public class TestFloatColumnSelector extends io.druid.segment.TestFloatColumnSel } @Override - public float get() + public float getFloat() { return floats[index]; } diff --git a/processing/src/test/java/io/druid/query/aggregation/TestLongColumnSelector.java b/processing/src/test/java/io/druid/query/aggregation/TestLongColumnSelector.java index 3a63282e103..2a78bb50052 100644 --- a/processing/src/test/java/io/druid/query/aggregation/TestLongColumnSelector.java +++ b/processing/src/test/java/io/druid/query/aggregation/TestLongColumnSelector.java @@ -33,7 +33,7 @@ public class TestLongColumnSelector extends io.druid.segment.TestLongColumnSelec } @Override - public long get() + public long getLong() { return longs[index]; } diff --git a/processing/src/test/java/io/druid/query/groupby/epinephelinae/TestColumnSelectorFactory.java b/processing/src/test/java/io/druid/query/groupby/epinephelinae/TestColumnSelectorFactory.java index c1492710b35..e6c68eaf867 100644 --- a/processing/src/test/java/io/druid/query/groupby/epinephelinae/TestColumnSelectorFactory.java +++ b/processing/src/test/java/io/druid/query/groupby/epinephelinae/TestColumnSelectorFactory.java @@ -53,7 +53,7 @@ public class TestColumnSelectorFactory implements ColumnSelectorFactory return new TestFloatColumnSelector() { @Override - public float get() + public float getFloat() { return row.get().getFloatMetric(columnName); } @@ -66,7 +66,7 @@ public class TestColumnSelectorFactory implements ColumnSelectorFactory return new TestLongColumnSelector() { @Override - public long get() + public long getLong() { return row.get().getLongMetric(columnName); } @@ -104,7 +104,7 @@ public class TestColumnSelectorFactory implements ColumnSelectorFactory return new TestDoubleColumnSelector() { @Override - public double get() + public double getDouble() { return row.get().getFloatMetric(columnName); } diff --git a/processing/src/test/java/io/druid/segment/virtual/ExpressionVirtualColumnTest.java b/processing/src/test/java/io/druid/segment/virtual/ExpressionVirtualColumnTest.java index 3d71e7bec62..92b718bfab4 100644 --- a/processing/src/test/java/io/druid/segment/virtual/ExpressionVirtualColumnTest.java +++ b/processing/src/test/java/io/druid/segment/virtual/ExpressionVirtualColumnTest.java @@ -113,16 +113,16 @@ public class ExpressionVirtualColumnTest final LongColumnSelector selector = XPLUSY.makeLongColumnSelector("expr", COLUMN_SELECTOR_FACTORY); COLUMN_SELECTOR_FACTORY.setRow(ROW0); - Assert.assertEquals(0L, selector.get()); + Assert.assertEquals(0L, selector.getLong()); COLUMN_SELECTOR_FACTORY.setRow(ROW1); - Assert.assertEquals(4L, selector.get()); + Assert.assertEquals(4L, selector.getLong()); COLUMN_SELECTOR_FACTORY.setRow(ROW2); - Assert.assertEquals(5L, selector.get()); + Assert.assertEquals(5L, selector.getLong()); COLUMN_SELECTOR_FACTORY.setRow(ROW3); - Assert.assertEquals(5L, selector.get()); + Assert.assertEquals(5L, selector.getLong()); } @Test @@ -131,16 +131,16 @@ public class ExpressionVirtualColumnTest final LongColumnSelector selector = ZCONCATX.makeLongColumnSelector("expr", COLUMN_SELECTOR_FACTORY); COLUMN_SELECTOR_FACTORY.setRow(ROW0); - Assert.assertEquals(0L, selector.get()); + Assert.assertEquals(0L, selector.getLong()); COLUMN_SELECTOR_FACTORY.setRow(ROW1); - Assert.assertEquals(4L, selector.get()); + Assert.assertEquals(4L, selector.getLong()); COLUMN_SELECTOR_FACTORY.setRow(ROW2); - Assert.assertEquals(0L, selector.get()); + Assert.assertEquals(0L, selector.getLong()); COLUMN_SELECTOR_FACTORY.setRow(ROW3); - Assert.assertEquals(0L, selector.get()); + Assert.assertEquals(0L, selector.getLong()); } @Test @@ -149,16 +149,16 @@ public class ExpressionVirtualColumnTest final FloatColumnSelector selector = XPLUSY.makeFloatColumnSelector("expr", COLUMN_SELECTOR_FACTORY); COLUMN_SELECTOR_FACTORY.setRow(ROW0); - Assert.assertEquals(0.0f, selector.get(), 0.0f); + Assert.assertEquals(0.0f, selector.getFloat(), 0.0f); COLUMN_SELECTOR_FACTORY.setRow(ROW1); - Assert.assertEquals(4.0f, selector.get(), 0.0f); + Assert.assertEquals(4.0f, selector.getFloat(), 0.0f); COLUMN_SELECTOR_FACTORY.setRow(ROW2); - Assert.assertEquals(5.1f, selector.get(), 0.0f); + Assert.assertEquals(5.1f, selector.getFloat(), 0.0f); COLUMN_SELECTOR_FACTORY.setRow(ROW3); - Assert.assertEquals(5.0f, selector.get(), 0.0f); + Assert.assertEquals(5.0f, selector.getFloat(), 0.0f); } @Test @@ -268,7 +268,7 @@ public class ExpressionVirtualColumnTest final LongColumnSelector selector = CONSTANT_LIKE.makeLongColumnSelector("expr", COLUMN_SELECTOR_FACTORY); COLUMN_SELECTOR_FACTORY.setRow(ROW0); - Assert.assertEquals(1L, selector.get()); + Assert.assertEquals(1L, selector.getLong()); } @Test @@ -277,16 +277,16 @@ public class ExpressionVirtualColumnTest final LongColumnSelector selector = ZLIKE.makeLongColumnSelector("expr", COLUMN_SELECTOR_FACTORY); COLUMN_SELECTOR_FACTORY.setRow(ROW0); - Assert.assertEquals(0L, selector.get()); + Assert.assertEquals(0L, selector.getLong()); COLUMN_SELECTOR_FACTORY.setRow(ROW1); - Assert.assertEquals(0L, selector.get()); + Assert.assertEquals(0L, selector.getLong()); COLUMN_SELECTOR_FACTORY.setRow(ROW2); - Assert.assertEquals(1L, selector.get()); + Assert.assertEquals(1L, selector.getLong()); COLUMN_SELECTOR_FACTORY.setRow(ROW3); - Assert.assertEquals(1L, selector.get()); + Assert.assertEquals(1L, selector.getLong()); } @Test diff --git a/processing/src/test/java/io/druid/segment/virtual/VirtualColumnsTest.java b/processing/src/test/java/io/druid/segment/virtual/VirtualColumnsTest.java index b5e82d7fa11..ef860cc3a4d 100644 --- a/processing/src/test/java/io/druid/segment/virtual/VirtualColumnsTest.java +++ b/processing/src/test/java/io/druid/segment/virtual/VirtualColumnsTest.java @@ -32,6 +32,7 @@ import io.druid.query.extraction.ExtractionFn; import io.druid.query.filter.ValueMatcher; import io.druid.query.monomorphicprocessing.RuntimeShapeInspector; import io.druid.segment.ColumnSelectorFactory; +import io.druid.segment.ColumnValueSelector; import io.druid.segment.DimensionSelector; import io.druid.segment.DimensionSelectorUtils; import io.druid.segment.DoubleColumnSelector; @@ -83,8 +84,8 @@ public class VirtualColumnsTest Assert.assertEquals(1L, objectSelector.get()); Assert.assertEquals("1", dimensionSelector.lookupName(dimensionSelector.getRow().get(0))); Assert.assertEquals("0.5", extractionDimensionSelector.lookupName(extractionDimensionSelector.getRow().get(0))); - Assert.assertEquals(1.0f, floatSelector.get(), 0.0f); - Assert.assertEquals(1L, longSelector.get()); + Assert.assertEquals(1.0f, floatSelector.getFloat(), 0.0f); + Assert.assertEquals(1L, longSelector.getLong()); } @Test @@ -101,8 +102,8 @@ public class VirtualColumnsTest Assert.assertEquals(5L, objectSelector.get()); Assert.assertEquals("5", dimensionSelector.lookupName(dimensionSelector.getRow().get(0))); - Assert.assertEquals(5.0f, floatSelector.get(), 0.0f); - Assert.assertEquals(5L, longSelector.get()); + Assert.assertEquals(5.0f, floatSelector.getFloat(), 0.0f); + Assert.assertEquals(5L, longSelector.getLong()); } @Test @@ -119,8 +120,8 @@ public class VirtualColumnsTest Assert.assertEquals(-1L, objectSelector.get()); Assert.assertEquals("-1", dimensionSelector.lookupName(dimensionSelector.getRow().get(0))); - Assert.assertEquals(-1.0f, floatSelector.get(), 0.0f); - Assert.assertEquals(-1L, longSelector.get()); + Assert.assertEquals(-1.0f, floatSelector.getFloat(), 0.0f); + Assert.assertEquals(-1L, longSelector.getLong()); } @Test @@ -298,7 +299,7 @@ public class VirtualColumnsTest @Override public Object get() { - return selector.get(); + return selector.getLong(); } }; } @@ -325,7 +326,7 @@ public class VirtualColumnsTest @Override public String lookupName(int id) { - final String stringValue = String.valueOf(selector.get()); + final String stringValue = String.valueOf(selector.getLong()); return extractionFn == null ? stringValue : extractionFn.apply(stringValue); } @@ -374,13 +375,13 @@ public class VirtualColumnsTest @Override public FloatColumnSelector makeFloatColumnSelector(String columnName, ColumnSelectorFactory factory) { - final LongColumnSelector selector = makeLongColumnSelector(columnName, factory); + final ColumnValueSelector selector = makeLongColumnSelector(columnName, factory); return new TestFloatColumnSelector() { @Override - public float get() + public float getFloat() { - return selector.get(); + return selector.getFloat(); } }; } @@ -394,7 +395,7 @@ public class VirtualColumnsTest return new TestLongColumnSelector() { @Override - public long get() + public long getLong() { return theLong; } @@ -402,17 +403,15 @@ public class VirtualColumnsTest } @Override - public DoubleColumnSelector makeDoubleColumnSelector( - String columnName, ColumnSelectorFactory factory - ) + public DoubleColumnSelector makeDoubleColumnSelector(String columnName, ColumnSelectorFactory factory) { - final LongColumnSelector selector = makeLongColumnSelector(columnName, factory); + final ColumnValueSelector selector = makeLongColumnSelector(columnName, factory); return new TestDoubleColumnSelector() { @Override - public double get() + public double getDouble() { - return selector.get(); + return selector.getDouble(); } }; } diff --git a/server/src/main/java/io/druid/segment/realtime/firehose/IngestSegmentFirehose.java b/server/src/main/java/io/druid/segment/realtime/firehose/IngestSegmentFirehose.java index 8f3f2bc8c6d..29dd7fe370f 100644 --- a/server/src/main/java/io/druid/segment/realtime/firehose/IngestSegmentFirehose.java +++ b/server/src/main/java/io/druid/segment/realtime/firehose/IngestSegmentFirehose.java @@ -124,7 +124,7 @@ public class IngestSegmentFirehose implements Firehose public InputRow next() { final Map theEvent = Maps.newLinkedHashMap(); - final long timestamp = timestampColumnSelector.get(); + final long timestamp = timestampColumnSelector.getLong(); theEvent.put(EventHolder.timestampKey, new DateTime(timestamp)); for (Map.Entry dimSelector : dimSelectors.entrySet()) {