@Override public void aggregate() { sum += selector.getLong(); }
@Override public boolean isNull() { return selector.isNull(); } };
@Override public void aggregate() { min = Math.min(min, selector.getLong()); }
@Override public void aggregate() { max = Math.max(max, selector.getLong()); }
@Override public void aggregate(ByteBuffer buf, int position) { buf.putLong(position, buf.getLong(position) + selector.getLong()); } }
@Test public void testLongSelectorWithConstantNullArithmetic() { final BaseLongColumnValueSelector selector = CONSTANT_NULL_ARITHMETIC.makeColumnValueSelector("expr", COLUMN_SELECTOR_FACTORY); CURRENT_ROW.set(ROW0); if (NullHandling.replaceWithDefault()) { Assert.assertEquals(2L, selector.getLong()); Assert.assertFalse(selector.isNull()); } else { Assert.assertTrue(selector.isNull()); } }
@Override public void addRowValuesToSelectResult( String outputName, BaseLongColumnValueSelector selector, Map<String, Object> resultMap ) { if (selector == null) { resultMap.put(outputName, null); } else { resultMap.put(outputName, selector.getLong()); } } }
@Test public void testLongSelector() { final BaseLongColumnValueSelector selector = X_PLUS_Y.makeColumnValueSelector("expr", COLUMN_SELECTOR_FACTORY); CURRENT_ROW.set(ROW0); if (NullHandling.replaceWithDefault()) { Assert.assertEquals(0L, selector.getLong()); } else { Assert.assertTrue(selector.isNull()); } CURRENT_ROW.set(ROW1); if (NullHandling.replaceWithDefault()) { Assert.assertEquals(4L, selector.getLong()); } else { // y is null for row1 Assert.assertTrue(selector.isNull()); } CURRENT_ROW.set(ROW2); Assert.assertEquals(5L, selector.getLong()); CURRENT_ROW.set(ROW3); Assert.assertEquals(5L, selector.getLong()); }
@Override public void aggregate(ByteBuffer buf, int position) { buf.putLong(position, Math.max(buf.getLong(position), selector.getLong())); } }