@Override public void aggregate() { sum += selector.getLong(); }
@Override public void aggregate() { min = Math.min(min, selector.getLong()); }
@Override public void aggregate(ByteBuffer buf, int position) { buf.putLong(position, buf.getLong(position) + selector.getLong()); } }
@Override public void aggregate() { long time = timeSelector.getLong(); if (time < firstTime) { firstTime = time; firstValue = valueSelector.getFloat(); } }
@Override public void aggregate() { long time = timeSelector.getLong(); if (time >= lastTime) { lastTime = time; lastValue = valueSelector.getDouble(); } }
@Override public void aggregate() { long time = timeSelector.getLong(); if (time >= lastTime) { lastTime = time; lastValue = valueSelector.getFloat(); } }
@Override public boolean matches() { return predicate.applyLong(longSelector.getLong()); }
@Override public void aggregate(ByteBuffer buf, int position) { long time = timeSelector.getLong(); long lastTime = buf.getLong(position); if (time >= lastTime) { buf.putLong(position, time); buf.putFloat(position + Long.BYTES, valueSelector.getFloat()); } }
@Override public void aggregate(ByteBuffer buf, int position) { long time = timeSelector.getLong(); long firstTime = buf.getLong(position); if (time < firstTime) { buf.putLong(position, time); buf.putFloat(position + Long.BYTES, valueSelector.getFloat()); } }
@Override public boolean matches() { if (selector.isNull()) { return false; } return selector.getLong() == matchValLong; }
@Override public void aggregate() { long time = timeSelector.getLong(); if (time < firstTime) { firstTime = time; firstValue = valueSelector.getDouble(); } }
@Override public void aggregate(ByteBuffer buf, int position) { long time = timeSelector.getLong(); long firstTime = buf.getLong(position); if (time < firstTime) { buf.putLong(position, time); buf.putDouble(position + Long.BYTES, valueSelector.getDouble()); } }
@Override public ValueGetter makeValueGetter(final BaseLongColumnValueSelector selector) { return () -> { if (selector.isNull()) { return null; } return new String[]{Long.toString(selector.getLong())}; }; } }
@Override public void hashRow(BaseLongColumnValueSelector selector, Hasher hasher) { if (NullHandling.replaceWithDefault() || !selector.isNull()) { hasher.putLong(selector.getLong()); } }
@Override public void hashValues(BaseLongColumnValueSelector selector, HyperLogLogCollector collector) { if (NullHandling.replaceWithDefault() || !selector.isNull()) { collector.add(CardinalityAggregator.hashFn.hashLong(selector.getLong()).asBytes()); } } }
@Override public void bufferAdd(ByteBuffer buf) { if (NullHandling.replaceWithDefault() || !selector.isNull()) { BloomKFilter.addLong(buf, selector.getLong()); } else { BloomKFilter.addBytes(buf, null, 0, 0); } } }
@Test public void testLongSelectorWithConstantLikeExprMacro() { final BaseLongColumnValueSelector selector = CONSTANT_LIKE.makeColumnValueSelector("expr", COLUMN_SELECTOR_FACTORY); CURRENT_ROW.set(ROW0); Assert.assertEquals(1L, selector.getLong()); }