@Override public void writeSlice(BlockBuilder blockBuilder, Slice value) { HYPER_LOG_LOG.writeSlice(blockBuilder, value); }
@Override public Slice getSlice(Block block, int position) { return HYPER_LOG_LOG.getSlice(block, position); }
@Override public void appendTo(Block block, int position, BlockBuilder blockBuilder) { HYPER_LOG_LOG.appendTo(block, position, blockBuilder); }
@Override public Block[] getSequenceBlocks(int start, int length) { BlockBuilder blockBuilder = HYPER_LOG_LOG.createBlockBuilder(null, length); for (int i = start; i < start + length; i++) { HyperLogLog hll = HyperLogLog.newInstance(NUMBER_OF_BUCKETS); hll.add(i); hll.makeDense(); HYPER_LOG_LOG.writeSlice(blockBuilder, hll.serialize()); } return new Block[] {blockBuilder.build()}; }
@Override public Object getObjectValue(ConnectorSession session, Block block, int position) { return HYPER_LOG_LOG.getObjectValue(session, block, position); } }
@Override public Block toBlock(Type desiredType) { checkArgument(HYPER_LOG_LOG.equals(desiredType), "type doesn't match: %s", desiredType); return sliceType.toBlock(desiredType); }
@Override public Object getObjectValue(ConnectorSession session, Block block, int position) { return HYPER_LOG_LOG.getObjectValue(session, block, position); } }
@Override public void writeSlice(BlockBuilder blockBuilder, Slice value, int offset, int length) { HYPER_LOG_LOG.writeSlice(blockBuilder, value, offset, length); }
@Override Object extractValue(Block block, int position) { return HYPER_LOG_LOG.getSlice(block, position); }
@Override public void appendTo(Block block, int position, BlockBuilder blockBuilder) { HYPER_LOG_LOG.appendTo(block, position, blockBuilder); }
@Override public void writeSlice(BlockBuilder blockBuilder, Slice value) { writeSlice(blockBuilder, value, 0, value.length()); }
@Override public void deserialize(Block block, int index, HyperLogLogState state) { state.setHyperLogLog(HyperLogLog.newInstance(HYPER_LOG_LOG.getSlice(block, index))); } }
@Override void writeNextRandomValue(Random random, BlockBuilder builder) { HYPER_LOG_LOG.writeSlice(builder, nextHyperLogLog(random)); } }
@Override public Slice getSlice(Block block, int position) { return HYPER_LOG_LOG.getSlice(block, position); }
@Override public void serialize(HyperLogLogState state, BlockBuilder out) { if (state.getHyperLogLog() == null) { out.appendNull(); } else { HYPER_LOG_LOG.writeSlice(out, state.getHyperLogLog().serialize()); } }
@Override Object extractValue(Block block, int position) { return HYPER_LOG_LOG.getSlice(block, position); }
@Override public void writeSlice(BlockBuilder blockBuilder, Slice value) { HYPER_LOG_LOG.writeSlice(blockBuilder, value); }
@Override public void deserialize(Block block, int index, HyperLogLogState state) { if (!block.isNull(index)) { state.setHyperLogLog(HyperLogLog.newInstance(HYPER_LOG_LOG.getSlice(block, index))); } } }
@Override public void writeSlice(BlockBuilder blockBuilder, Slice value, int offset, int length) { HYPER_LOG_LOG.writeSlice(blockBuilder, value, offset, length); }
@Override void writeNextRandomValue(Random random, BlockBuilder builder) { HYPER_LOG_LOG.writeSlice(builder, nextHyperLogLog(random)); } }